IRCloggy #git 2008-12-26

Logs Search ←Prev date Next date→ Channels Documentation

Provider of IRC logs since 2005.
WARNING: As Freenode became unjoinable and lost all warnings in topics, we cannot log channels on Freenode anymore.

2008-12-26

dasil003 left00:00
gitster "git diff $commit...origin -- manifest" would show lines that they did not change prefixed with " ", lines they changed prefixed with "-" and "+"; - are what the file had before their change, + are what the file contains after their change.00:00
akitada joined00:00
akitada left00:02
akitada_ joined00:03
oudeis joined00:03
Jacolyte joined00:04
akitada_ left00:06
Ademan left00:07
aoper joined00:09
charon left00:09
aoper left00:13
aoper joined00:14
TanEk left00:16
zerok_ left00:16
akitada_ joined00:20
dreiss joined00:21
akitada_ left00:22
kumbayo left00:29
_ajonat left00:33
johnw joined00:35
jmatthews left00:37
gitster left00:37
johnw left00:38
foutrelis left00:38
Tr3B left00:41
jmatthews joined00:41
dwmw2_gone left00:43
LotR left00:45
gitster joined00:50
pie joined00:52
d0k left00:52
__david joined00:56
__david How do I combine several commits into a single commit?00:56
gitster "merge --squash" or "rebase -i"00:56
__david can you be a bit more specific?00:56
Like, if I want to combine the past N commits?00:57
And how does it deal with their commit messages?00:57
Does it append them, or discard them and let me specify a new one?00:57
scrambledegg left00:59
uva joined01:03
CodeOfficer left01:10
greyface left01:11
chris2 left01:14
joydivider left01:17
name left01:19
Strogg joined01:23
kbiddlecombkbiddlecomb_01:29
azuk I wonder what's the logic with the Branch: field gitk displays in the diff, it is empty in some branch tip commits but not in all01:30
quoin joined01:32
stouset joined01:32
tanek_ joined01:36
priidu left01:36
markelikalderon left01:36
stouset left01:41
markelikalderon joined01:41
cartucho joined01:42
Ilari azuk: Are they even local branches? Not remote branches or even tags?01:43
azuk yes01:43
pygi left01:50
bobesponja left01:51
azuk while I'm trying to come up with a script to create such a repository, here's another case. does this look correct to you: <http://www.iki.fi/azure/tmp/gitk-test1.png> (test script to recreate that repository: <http://www.iki.fi/azure/tmp/gitk-test-script>)01:52
Gitbot azuk: I'm sorry, there's no such object: http://www.iki.fi/azure/tmp/gitk-test1.png.01:52
bobesponja joined01:52
j_engelh azuk: repost with --date-order01:52
simply commit the entires from bottom to top and you recreated it01:53
quoin left01:53
j_engelh azuk: you're good when you can recreate something like http://jengelh.medozas.de/images/git-forest.png01:55
uva left01:55
azuk ok, here's with --date-order, not that understand what difference and why that should make: <http://www.iki.fi/azure/tmp/gitk-test1-date-order.png>01:56
Gitbot azuk: I'm sorry, there's no such object: http://www.iki.fi/azure/tmp/gitk-test1-date-order.png.01:56
azuk ...and the point is that I'd expect it to display both debug2 and branch as branches01:57
uva joined02:00
azuk should I adjust my expectations? :)02:01
j_engelh and?02:02
azuk and what?02:02
j_engelh well think about it02:03
azuk I have been thinking about it and it doesn't make sense to me, as far as I can see that commit is reachable from both debug2 and branch and so should be part of both branches, just like its parent02:05
aoper left02:06
j_engelh you have exactly 6 branches in there, of which 3 are accessible my a green name02:06
s/my/by/02:06
moconnor joined02:07
aoper joined02:07
markelikalderon left02:09
azuk I can agree with that02:09
chuck left02:11
azuk I don't see how that answers my question, though02:12
k776 joined02:13
kbiddlecomb_ left02:15
markelikalderon joined02:16
k776 left02:18
aoper left02:19
j_engelh I really don't know where the problem is.02:22
If you want to recreate the history tree like that, just commit in the right order.02:22
azuk I know how to create a history like that, I just want to know why, in that screenshot, gitk displays "Branch: debug2" instead of "Branch: debug2, branch"02:24
litage joined02:24
mbroeker left02:28
QaDeS_ joined02:28
j_engelh azuk: it shows both branches for me02:29
azuk: http://tinyurl.com/82wyd802:31
azuk ok, I suppose I should make a bug report then02:33
oudeis left02:33
j_engelh no, why? there is no bug.02:33
at least not in the version I have, whcih is the most recent.02:33
azuk hm, mine should be the most recent as well, let me verify02:34
Yuuhi left02:34
azuk ok, I'm missing a couple of commits, but they all look completely unrelated. but let me build the latest version just in case02:36
j_engelh and be sure to run gitk --all02:37
azuk yep, that's what I did02:37
j_engelh winner? wtf. debian is falling apart due to their politics, and ubuntu does not have the technical know-how to get anything goin.02:37
j_engelh joined02:38
j_engelh screw this irc client to hell and back02:38
offby1 er?02:39
j_engelh or maybe my keyboard is giving up on me02:39
(when trying to use ^X to switch channels)02:40
offby1 dried eggnog stuck between the contacts, most likely02:40
faithfulgeek joined02:40
j_engelh i don't drink that crap02:40
faithfulgeek left02:44
QaDeS left02:45
metajack joined02:47
bobesponja left02:47
bryanl left02:49
julian81 joined02:51
drewr left02:53
bobesponja joined02:58
bobesponja left03:05
julian81_ left03:05
dasil003 joined03:09
_slacker_ joined03:11
thiago left03:15
cartucho left03:16
ari-_-e joined03:17
ari-_-e hey guys, what command would I use if I wanted get the tree that a tree-ish resolves to?03:18
j_engelh well03:18
a tree-ish already is a tree03:18
you mean display contents?03:18
deskin ari-_-e: git rev-parse $treeish^{tree}03:18
ari-_-e erm no, commits and tags are also tree-ishes03:19
deskin: thanks03:19
j_engelh oh right03:19
mbroeker joined03:20
aoper joined03:22
ari-_-e another question: is it possible to request a single object and all additional objects that would be required for "git fsck" to report no problems from remote?03:26
rather than fetching a ref?03:26
j_engelh that would be all reachable committish,treeishs and blobishs03:27
ari-_-e hm?03:27
j_engelh git rev-list $object03:28
ari-_-e well it'd be weird for commits because it would fetch the entire history, but for a tree (which is what I want) you'd just have to get maybe some more trees and blobs03:28
j_engelh what's weird with not fetching all commits..03:28
Tv ari-_-e: IIRC git-daemon only serves things from refs so it won't accidentally serve "deleted" or "just sharing storage" objects you're not supposed to see03:28
j_engelh a missing object is not necessarily a bad thing03:28
ari-_-e hmm, damn03:29
j_engelh you just can't play with it if it's not there03:29
Tv ari-_-e: asking it for a blob or tree would force it to walk the DAG to see if that's allowed; as that's costly, it chooses not to allow that03:29
ari-_-e j_engelh: hmm, well if something points to it it's bad :-/03:29
j_engelh ari-_-e: not necessarily03:29
Tv ari-_-e: you can grab a full clone and feed those in from that, though03:29
j_engelh there is this thing called shallow clones03:29
ari-_-e oh, right03:29
j_engelh I could imagine - but it does not seem implemented of course - that ther emight also be shallow trees03:29
ari-_-e j_engelh: so it doesn't just do shallow clones by having the last commit in the chain not have a parent?03:30
I guess it would have to change the hash...03:30
j_engelh hm?03:30
forget what I mumbled; trees should be complete or you can't easily verify them03:30
Tv ari-_-e: well yes but not by mutating anything, by writing down "i don't have the parents of X"03:30
ari-_-e Tv: ok03:31
Tv: what does DAG stand for?03:31
Ilari ari-_-e: Directed Acyclic Graph.03:32
j_engelh Dag is a nordic name03:32
:p03:32
ari-_-e ok, so that's just the commit chain complete with branches and all that03:32
right?03:32
j_engelh -ETOOMANYQUESTIONSATONCE03:32
ari-_-e :P03:32
nanodeath left03:33
Tv ari-_-e: http://eagain.net/articles/git-for-computer-scientists/03:33
Ilari ari-_-e: Branches are just pointers to nodes of that DAG. And the DAG can be highly nonlinear.03:34
ari-_-e hey, that looks cool03:34
Tv: thanks for the link03:34
j_engelh ze internet is on ze fritz again03:37
markelikalderon left03:37
flaguy left03:38
da1l6 left03:39
da1l6 joined03:40
dasil003 left03:42
jeckel joined03:46
jbellis left03:48
mbroeker left03:49
jmatthews left03:49
QaDeS_ left03:49
tanek__ joined03:50
scientes left03:52
jeckel left03:52
jeckel joined03:52
jmatthews joined03:55
Shilin2 left03:59
elmex left04:00
jeckel left04:01
jeckel joined04:01
elmex joined04:03
muthu_ joined04:03
aoper left04:04
mithro joined04:05
aoper joined04:05
jeckel_ joined04:06
jeckel left04:06
jeckel_ left04:06
tanek_ left04:07
kukks left04:10
kevwil joined04:11
parasti left04:11
j416 joined04:11
kevwil left04:12
cartucho joined04:17
bobesponja joined04:34
aziz left04:34
mithro left04:34
psankar joined04:37
bieneff joined04:39
bieneff left04:44
ari-_-e left04:44
GyrosGei1r left04:47
GyrosGeier joined04:47
schlort left04:52
moconnor left05:01
rubydiamond joined05:07
sammcd joined05:12
xinming joined05:16
tjafk1 joined05:27
tjafk left05:28
jackowayed joined05:30
gottesmm joined05:39
qrush joined05:41
ijcd left05:41
j416 left05:47
gottesmm left05:48
lholden joined05:51
branstrom left05:52
jstad joined05:55
j416 joined05:56
jackdempsey joined06:01
carllerche joined06:02
jackdempsey left06:06
lresende joined06:07
lresende left06:10
etienne9 joined06:13
ankit9 left06:13
sammcd left06:15
cedricv joined06:15
etienne9 left06:16
lholden left06:18
jackowayed left06:19
rubydiamond left06:19
rubydiamond joined06:20
rubydiamond left06:20
lresende joined06:24
quoin joined06:25
oudeis joined06:26
cartucho left06:28
Shilin2 joined06:37
offby1 alors06:38
dasil003 joined06:46
PloenK joined06:56
jackdempsey joined06:59
__doc__ joined07:04
dasil003 left07:10
doener left07:11
univate left07:11
doener joined07:11
joydivider joined07:15
bobesponja left07:29
carllerche left07:33
pyalot joined07:35
priidu joined07:39
__doc__ left07:40
jstad left07:41
jackdempsey left07:54
dreiss left07:56
temoto joined07:56
temoto Hello. We're 3 devs pushing to one repo and pulling from that one repo. Like SVN. It was once that pull created a merge commit. I reset that back and did rebase, resulting in conflict and again i did a merge commit. Does it mean we can generally use pull to synchronize with center-repo or better use rebase?07:59
i mean if merge commit was like unevitable08:00
godlygeek as far as i know, git pull --rebase is a reasonable thing to do in that situation, to try to rebase upon the stuff that's pulled down, rather than merge it into your branch.08:01
litage left08:02
temoto godlygeek: ya and there is branch.name.rebase = true config to do that for each pull.08:02
davik joined08:03
godlygeek yeah.08:03
temoto I'm trying to get the feeling which one is appropriate in which situation.08:03
Like i'm sure where to use tuple, where to use list in python.08:04
godlygeek yeah. i have a general feeling for when to use each, but since i'm not exactly an expert on the matter, i won't muddy the waters with my limited understanding...08:05
julian81 left08:05
ankit9 joined08:05
ankit9 left08:06
ankit9 joined08:06
temoto godlygeek: thank you :)08:07
ankit9 left08:10
ankit9 joined08:11
aoper left08:19
pyalot left08:20
__doc__ joined08:25
aoper joined08:27
muthu joined08:28
__doc__ left08:38
xinming left08:41
oudeis left08:42
muthu_ left08:43
__doc__ joined08:47
Ademan joined09:04
Jacolyte left09:05
ankit9 left09:06
ankit9 joined09:06
cao left09:07
temoto left09:07
PloenK left09:08
scientes joined09:16
oudeis joined09:27
daa joined09:34
ia left09:40
ia joined09:41
unreal left09:43
daa left09:44
wwwald joined09:44
unreal joined09:49
ankit9 left09:53
ankit9 joined09:54
Tr3B joined09:58
joydivider left10:04
chris2_ joined10:14
wwwald left10:16
chris2_chris210:16
Voker57 joined10:16
Flathead joined10:17
mbroeker joined10:18
__doc__ left10:22
chris2chris2_10:27
chris2_chris2__10:27
chris2__chris210:28
joydivider joined10:31
schlort joined10:31
mbroeker left10:36
mbroeker joined10:36
greyface joined10:37
dermoth left10:43
unreal left10:46
dermoth joined10:46
drizzd joined10:47
chris2 left11:02
ndim left11:08
pygi joined11:09
joydivider left11:10
Shilin2 left11:10
not-xjjk joined11:11
pygi left11:14
ph^ joined11:14
Shilin2 joined11:16
rtomayko_ joined11:17
rtomayko left11:17
carllerche joined11:21
k776 joined11:22
xjjk left11:23
QaDeS_ joined11:23
k776 left11:25
muthu left11:26
muthu_ joined11:30
masterzen joined11:31
carllerche left11:34
bentob0x joined11:34
Voker57 left11:35
Voker57 joined11:36
dmq i dont "get" git describe11:39
it warns about stuff that you cant control.11:39
which doesnt make sense to me.11:39
j416 left11:42
schlort left11:42
psankar left11:43
davik left11:43
Ilari dmq: What warning?11:48
dmq the problem is with git describe --all11:49
just mailed the list about it.11:50
but let me make a paste11:51
Ilari dmq: That tag foo is really tags/foo message?11:51
dmq http://pasta.test-smoke.org/12211:51
yes exactly.11:52
theres no way to turn it off11:52
or to force git-describe to just output "tags/blah blah" instead11:52
and i cant not use --all as if i dont use it some of my commits dont resolve.11:52
Ilari Apparently trying to describe anything that it uses tags as base gives that warning. It even pops up in git.git clone I have. And AFAICT those tags it warns about are correctly named.11:54
dmq yeah11:55
the warning is one of those silly warnings that we all stick in code without thinking it through.11:55
thiago joined11:55
[TuxCM] joined11:55
dmq never warn about something you cant control, and if you do warn include explanation for how to turn off the warning.11:55
Ilari dmq: It seems that conditions to display it contain logic error. It seems to pop up in cases where it shouldn't pop up.11:57
dmq that would explain why its so annoying :-)11:57
and yes, it almost seems random.11:57
see, ive been running git-describe on about 1000 commits from the perl history.11:57
everywhere that the version of perl was changed.11:58
so that i can ensure we have all the right version tags.11:58
and part of it is git-describing each.11:58
and i get that error about 30% of the time or so...11:58
peritus_ joined11:58
kumbayo joined11:58
dmq that warning11:58
and its really irritating11:58
as a) id like all the git-describes to use the same qualified format, and b) i cant turn it off.11:59
Ilari dmq: I'd say there's not much need to turn that off if it would be fixed to only warn when it should...12:00
dmq well, id like to turn it off by saying "always use the qualified form" and then it should have nothing to warn about right?12:01
Sonderblade How do you view the diff of a specific commit?12:02
andreaja git show <hash>12:02
Sonderblade thanks12:03
dmq or if you feel like typing more git log -p -1 SHA!12:03
Sonderblade it seems git svn rebase has made it so that some commits have become duplicated, how can that happen?12:04
dmq ilari, id be really interested to see how such a change/new switch would be handled. ive looked at patching git a couple of times, but i didnt get a lot of traction.12:04
it would be nice to see an example of adding a well defined and small feature.12:05
temoto joined12:09
Ilari dmq: IMO, its more like bugfix. If it's indeed logic error, then fixing that is a bugfix.12:12
kumbayo left12:13
d0k joined12:13
temoto Hello. We're moved from SVN, 3 devs pushing to one centralized repo. Now which one of pull&rebase to prefer and when?12:14
dmq Ilari: sure, but adding aswitch to force the qualified format always would be a teeny feature?12:15
thiago temoto: to do it "the git way", you want rebase12:15
git checkout master; git pull; git checkout mybranch; git rebase master; git checkout master; git merge mybranch; git push12:15
or, more simply: git checkout mybranch; git pull --rebase; git push12:16
temoto hmm12:17
do i have to have separate branch?12:17
we're working on master12:18
Ilari dmq: Hmm... It seems that my first guess at what causes that warning was right...12:18
temoto and we're pushing our master to server master12:18
bremner temoto: you can also do this with git. Don't be afraid of branches in git though12:19
tomsw joined12:19
temoto bremner: i'm not, i'm using few branches for my own projects.12:19
tomsw happy Boxing Day everyone12:20
bremner boxes tomsw's ears :-)12:20
dmq ilari: bug?12:20
temoto It's just a question of is there any good reason to have mybranch and keep rebasing it to master?12:20
tomsw Is it possible to move the last n commits from one branch to another?12:20
dmq keeps the commit history clean.12:20
tomsw I did some work on the wrong branch12:21
[TuxCM] left12:21
temoto dmq: i see. That way i'll have to make "merge commits" that glue several commits of mybranch into one on master branch?12:22
bremner temoto: not really. Also "merge commits" are something else. You probably mean squashed commits in git lingo12:24
Ilari temoto: If you keep mybranch and keep it rebased to master, don't push it anywhere without warnings about it being rebased.12:24
dmq tomsw: my comment was more to temoto.12:25
ankit9 left12:25
dmq temoto: im not really sure if i follow you. the reason some people like rebase is because it keeps the commit history clean on master.12:26
ankit9 joined12:26
dmq as in "clean of merges".12:27
so it looks like a straight line in things like gitk.12:27
Ilari And rebasing together with push and pull can create nasty surprises if one isn't careful...12:27
dmq yes12:27
thiago temoto: you asked what was the recommended way12:28
temoto ya12:28
thiago the recommended way is not to work on master, but to work on topic branches12:28
temoto topic?12:28
thiago check out, rebase, work12:28
when you're done, you merge it into master, then push12:28
dmq yeah12:29
but it doesnt always quite work out that way.12:29
temoto I'm sorry what is "topic branch"?12:29
dmq you create a temporary named branch that is for working on a given "topic"12:29
Ilari That leaves out the step for deleting that branch (comes after merging it to master)... And to avoid nonliearities, one should do one final rebase before merge (to ensure merge will be trivial).12:29
temoto omg12:30
dmq you do your changes there, and then rebase it into master and throw away the temporary branch when you are done12:30
tomsw figures it out12:30
Ilari temoto: For example branch 'bugfix-225' (for fixing bug #225 in bugtracker). Or branch 'ECDSA' for implementing ECDSA (a digital signature algorithm)...12:30
ankit9 left12:31
dmq at least thats the idea.12:31
imo it doesnt work out that way in practice.12:31
ankit9 joined12:31
temoto to rebase master, i should do git checkout master ; git rebase bugfix-225 ?12:31
muthu_ left12:31
Sonderblade i'm trying to rebase a branch, i get a conflict, i solve it by selecting the second version, then the changeset becomes empty and rebase can't continue12:31
git is broken12:31
dmq not with a large number of committers with varying skills working out the same repo anyway.12:31
thiago in practice, my work consists of making small changes in master12:32
if I don't finish it with one commit or in a couple of hours, I make a branch out of it for later12:32
Ilari temoto: More like 'git checkout bugfix-225', 'git rebase master'.12:32
bremner dmq: "working out of the same repo" is not "the git way"12:32
thiago since every commit, before being pushed, needs to be reviewed by a peer, sometimes I need to create a branch in order to keep commits that aren't reviewed yet12:32
Ilari Sonderblade: 'git rebase --skip'?12:32
dmq bremner: i mean sharing a single master repo.12:33
temoto Ilari: i meant before pushing12:33
dmq and yes i know.12:33
thiago bremner: actually, it is. Just because the kernel uses pulling doesn't mean everyone has to.12:33
Sonderblade Ilari: that worked, how strange12:33
dmq bremner: IOW, a bare shared repo as a master repository.12:33
bremner thiago, dmq: I thought dmq meant one local repo. my misunderstanding12:34
dmq to use the pull model you need release managers afaict.12:34
Ilari temoto: The command you gave would rebase master on top of bugfix-225 (yielding likely some very wrong results).12:34
bremner dmq: so what breaks about topic branches in this setting?12:34
Ilari temoto: The usual syntax of rebase is 'git rebase <branch on which current branch is based on>'.12:35
dmq bremner: its not that anything breaks, its that it requires a reasonably clueful set of devs.12:36
Ilari temoto: It would be possible to configure 'git pull' to perform the correct rebase when on those branches...12:36
bremner dmq: maybe you need the "idiot branch", which is merged back in by someone clueful12:36
dmq if you have a mixed team, maybe web designers too, businessy people, etc. merging starts becomming much more common just because of the skill levels.12:37
bremner: thats what i mean by a release manager12:37
girishr joined12:38
dmq anyway, in a team where they try not to have such things, rebasing starts causing a lot of problems, and so people end up merging a lot.12:38
at least thats what ive seen so far.12:38
ankit9 left12:38
bremner dmq: ok, I understand your point now. Merging is not the end of the world, after all12:38
girishr left12:38
dmq right, my point was mostly the objective of a clean tree is hard to achieve with a mixed crew of committers. So unless you are willing to have branch managers doing the pull/cherry model (expensive for a company, but superior, and required in open source normally), the end result will be the push/merge model and a "messy tree".12:40
QaDeS_ left12:43
thiago what we're doing is that we're developing a tool to do that for us12:44
instead of pushing, each person uses a separate command12:44
that sends the commit(s) into a change-tracking system12:44
each changeset needs to be reviewed by someone else and it needs to pass the tests12:45
temoto thiago: like mondrian?12:45
thiago once it does, the system automatically rebases and pushes12:45
yes12:45
temoto thiago: i've heard there's an opensource analog.12:45
dmq one of our teams "things" is not having beurocratic barriers to dev.12:45
they wont go for any kind of formal review process at all.12:46
thiago it's not a bureaucratic barrier per se12:46
temoto dmq: good one.12:46
thiago it's just making a tool for what we already do: reviews12:46
nothing goes in unless it's reviewed12:46
temoto thiago: how's it called?12:46
thiago "the tool we're developing"12:46
dmq thats a nice system, but its slow, and its expensive.12:46
:-)12:46
personally i like the "two man rule", i think that works well. but i cant imagine even that being put in place at my shop.12:47
thiago when you have such a huge codebase as we do (even with paying customers), you can't afford silly mistakes to go unchecked.12:47
bryanl joined12:47
petteri I, know that this is not a strictly git question, but here it is anyway. I have installed git to /opt/, so /opt/bin/ has git binaries. When I try to use git clone to clone repository over ssh from the host where git is in /opt I get bash: git-upload-pack: command not found. If I execute ssh petteri@host_where_the_git_is_in_opt "echo $PATH" i can see that my path is set correctly, bit I still can't execute any git commands over ssh. Any pointers what I am doing12:47
thiago besides, it improves code quality12:47
dmq yeah. i understand.12:47
btw, whats a "huge codebase" to you?12:48
thiago right now, what we do is very simple: we have an internal pastebin website12:48
once you're done with a change, you paste it there, then ping someone on IRC to review it12:48
usually, that happens within 10 minutes. Once you've got it, you push.12:48
dmq are they release managers? or is it just a formal version of two-man?12:48
thiago 27000 files, way over a million lines of code.12:48
any one (who knows the code)12:49
the release manager has his own branch of what he'll release12:49
dmq ah, that sounds pretty reasonable.12:49
we use one-man change-and-rollout, and suffer the consequences if you break our systems.12:50
branstrom joined12:50
thiago as in "push and run" ? :-)12:50
dmq heh.12:51
something like that.12:51
thiago we had that a few weeks ago. It was even reviewed...12:51
but he went on vacation and, next Tuesday, we had to revert everything.12:51
dmq push and then sync to whacks of servers and then wait for the fireworks.12:51
which will come almost instantly. :-)12:51
thiago it was supposed to be optimisations, but it introduced a ton of regressions12:52
dmq yeah, but that always happens, no matter what you do, if you put code live before a holiday.12:52
thiago of course, the worst part is that he's the boss :-)12:53
dato joined12:53
dmq Thats the golden rule. Never put code live before the weekend or a vacation. Regardless of how many regression tests you have. The Gods of computing are unyealding on this rule, they Shall Punish All Who Transgress.12:53
:-)12:53
the boss eh.12:54
nice.12:54
Ademan left12:56
thiago and, looking at his code, you know why he's the boss12:56
I mean, I'm nowhere near inexperienced, but when he asked me to review a set of patches, I kept thinking to myself, "cool, that's very ingenious"12:56
dmq heh, that one could go both ways. either its peter principle, or hes really really good. :-)12:56
Ilari dmq: The reason for warning seems to be a bug in display_name() of builtin-describe.c. It doesn't take into account that in --all mode, normal tags in refs/tags/ have their names passed as 'tags/foo', while tag object internal name is 'foo'.12:56
dmq: In non-all mode, tag 'foo' is passed in as 'foo'.12:57
Ademan joined12:57
d0k left12:57
dmq thiago: theres the old line: debugging is harder than coding, so if you code at the maximum of your ability you are by definition not qualified to debug it.12:57
thiago yep12:57
dmq ilari: so it then strips off the "tags/" and warns about it too?12:59
neat.12:59
petteri found out what was wrong. I had to enable PermitUserEnvironment from sshd_config and add path to ~/.ssh/environment13:00
Ilari dmq: I tested patch which strips off 'tags/' prefix in all-refs mode. The test outputs some warnings and errors but they all seem genuine.13:00
petteri: Bit of warning about 'PermitUserEnvironment'. Some environment variables can be used to cause dynamic linker to transfer control to arbitiary code. So if any user has restricted shell, ensure that they can't modify user environment...13:02
drizzd left13:02
petteri ok, thanks. This machine is only for my private use, but good to know13:03
Ilari petteri: It gets worse. Even /bin/false can be hijacked with those env vars...13:04
charon joined13:04
Ilari petteri: That is, if "shell" program is not statically linked, setuid, setgid or setsid, it can be hijacked.13:05
And that setsid thing requires dynamic linker that is aware of AT_SECURE flag.13:09
setsid = Set Security ID.13:09
petteri other option seems to recompile sshd so that its paths include /opt13:10
tomsw shouldn't a hard reset delete any local changes?13:10
if I do "git reset --hard" followed by "git status" there's a changed file13:11
which I don't understand13:11
chalky joined13:13
j_engelh Ilari: absolutely not13:13
s is for session here, but read the manpage.13:14
Ilari j_engelh: sid is also security ID. So like uid => setuid, sid => setsid. Obiviously, setsid() is also function used for something completely different.13:18
j_engelh Ilari: only on Windows. And Windows is not quite relevant here :p13:19
d0k joined13:25
oudeis_ joined13:25
Ilari j_engelh: Or on Linux with pretty much any LSM more complex than the standard capabilities active...13:25
j_engelh fact is, setsid, on Linux, it's session.13:26
flaguy joined13:26
markelikalderon joined13:26
aziz joined13:27
Ilari j_engelh: SID is also used to mean 'Security ID'. And not just for Windows...13:30
bryanl left13:30
unreal joined13:32
oudeis left13:34
Flathead left13:34
oudeis_ left13:37
dato why there are only 3 %C<color>?13:38
(in --pretty, I mean)13:38
Ilari dato: Because there aren't more of them implemented? Altough due to limitations of teletypes, there are really only 6 usable colors.13:41
bentob0x left13:41
dato I was hoping for the 7 or 8, plus their bold counterparts13:42
deskin dato: you can always inject ascii color sequences using literal bytes, %x00 etc.13:42
dato right13:42
Ilari dato: The missing three are 'brown', 'cyan' and 'magenta'...13:42
dato I also use black sometimes (for grey)13:43
pygi joined13:44
ph^ left13:46
masterzen left13:48
Ilari There's Xterm 256 colors extension but it is nonstandard...13:50
xenoterracide joined13:50
j_engelh 7 usable.13:51
red,green,brown,blue,magenta,cyan,gray.13:51
xenoterracide if I want to change the default pull of git pull how would I do that? read the man page but not sure I get it. (to early in the morn)13:51
j_engelh but who cares about 713:51
What one needs to know: VGA has 16 foreground/8 background; standard Xterm has 16/8 by default too plus 3 markups; the 256 are extended indeed.13:52
deskin xenoterracide: you mean, the remote repository where pull comes from when you don't give it any arguments?13:52
xenoterracide deskin yes13:52
deskin look in .git/config for [remote "origin"] section; change the url and fetch parameters to whatever you want13:53
wwwald joined13:53
deskin or can be done with git remote, or git config if you prefer13:53
xenoterracide do I have to change the origin remote? can I just tell it to use a different remote/branch?13:54
as default13:55
deskin xenoterracide: yes, but then you're giving it an argument :) origin is the default remote by definition, I don't think there's a way to change that13:56
temoto Is it possible to commit symlink?13:56
j_engelh it is possible to commit murder too.13:56
xenoterracide temoto: yes13:57
temoto xenoterracide: thank you.13:57
xenoterracide deskin: hmm... that sucks13:57
dato j_engelh: well, having 3 now, moving to 7 + bolds would be nice. do you think a patch for that would be accepted?13:57
j_engelh patch? what? where?13:58
what has 3?13:58
dato sorry, previous conversation13:59
deskin xenoterracide: it's just a name; if you like your origin remote, change its name and create a new origin. If your origin really should be origin, well, then make another remote, and when you want to pull from it, give its name explicitly13:59
dato 3 == %C{red,green,blue}13:59
j_engelh ah git log --pretty..13:59
CodeOfficer joined13:59
dato yes13:59
j_engelh that's the worst place to have color in the first place14:00
dato: you can easily use format:'^[[31m%an' to get red...14:01
dato well, I didn't put it there in the firt place14:03
and since I suspect the existing ones are not going to be removed...14:04
faithfulgeek joined14:05
xenoterracide deskin right, just a complication with a patch to a piece of software that can call git, but it's only capable of doing git pull14:07
deskin xenoterracide: it must be too early, because I've been misleading you; actually one can have git pull by default use different remotes depending on which branch is checked out; look at 'Default Behaviour' section of man git-pull14:09
Gitbot xenoterracide: the git-pull manpage can be found at http://git.or.cz/man/git-pull14:09
deskin basically you set git config branch.<branchname>.remote myremote14:09
and when <branchname> is checked out, git pull uses myremote by default14:10
mw joined14:11
xenoterracide deskin see that syntax sounds confusing... I'm getting the impression that's not exactly what I have to put in my .git/config14:13
oudeis joined14:13
d0k left14:13
deskin well, there's more to it (which I elided because I don't know precisely, and don't want to read the docs now); git checkout -t -b mybranch remotes/myremote/remotebranch will set up the config for pulling from myremote, and merging remotebranch, perhaps you can use that as a guide to get started14:15
scsiraider left14:15
xenoterracide ok14:15
markelikalderon left14:23
pie left14:23
Shilin2 left14:24
quoin left14:28
markelikalderon joined14:29
Aides left14:30
Aides joined14:31
muthu_ joined14:32
rubydiamond joined14:34
unreal left14:34
markelikalderon left14:37
faithfulgeek left14:37
LiamH joined14:38
parasti joined14:43
__doc__ joined14:43
bosie joined14:49
foutrelis joined14:51
chris2 joined14:52
gasbag joined14:53
Ilari dmq: 'git ls-files | grep -v /'? Since filenames can't have '/' in them...14:53
kukks joined14:53
dmq very convenient.14:54
Tr3B_ joined14:54
Ilari dmq: Well, except that they might have '\n' in them...14:54
dmq as in not very conenient.14:54
and difficult to use in a portable manner.14:54
Tr3B left14:54
unreal joined14:55
Ilari dmq: Not very poritable in what sense? You thinking msysgit or something? Or is '-v' some nonstandard extension?14:55
dmq requiring grep can be problematic.14:56
getting the pattern for grep right can be problematic.14:56
greyface left14:56
ankit9 joined14:57
dmq and yeah, i was thinking windows/linux14:57
gasbag left14:58
dmq i mean, obviously its surmountable, but it would be easier if there was a --no-recurse option. especially if that means doing less work overall.14:58
Ilari dmq: Git requires grep anyway.14:58
dmq still.14:58
foutrelis left14:59
Ilari dmq: It doesn't mean that much less work... Trees are hierarchial. The index is not.14:59
dmq: Also, not just filenames can't have '/' in them, any sort of recursive path MUST have '/' in it.15:00
bremner so if I wedged HEAD, and now git things it isn't a repo anymore, should I just edit .git/HEAD15:01
Ilari bremner: Yup. What it contains now?15:01
pygi left15:01
dmq ilari: well, ok. but, well, i still a think a --no-recurse option makes sense.15:02
bremner Ilari: ref: checkout15:02
bremner observes one should type carefully when using git-symbolic-ref15:03
Ilari bremner: Huh... If its not detached, it should contain "ref: refs/heads/foo'...15:03
bremner Ilari: I was trying to make a detached worktree, but I think I made a typo15:05
bremner: now I guess I want reset --hard to restore sanity15:06
pygi joined15:06
bremner footgun back in the holster. Is there a nice description of using detached worktrees somewhere?15:08
rubydiam_ joined15:10
rubydiamond left15:10
Acry_ler joined15:10
jm joined15:12
foutrelis joined15:15
Acryler left15:15
Ilari bremner: You mean Detached HEAD or creating two working directories for the same repository?15:16
bremner Ilari: two working directories for same repo (second will be read only)15:16
Ilari bremner: It doesn't have to be read only (just don't check out the same branch twice)...15:17
bremner Ilari: ahh, there was my mistake15:17
ph^ joined15:18
bremner bremner: I can make a temporary branch I guess15:18
rubydiam_rubydiamond15:18
marvil07 joined15:21
bremner 'git --git-dir=$PWD/.git --work-tree=/tmp/foo checkout tmp' doesn't work by itself because everything is deleted. Do I need git-read-tree first?15:23
or git archive to get the files?15:23
(/tmp/foo is empty to start)15:24
bobmcw joined15:24
Illocution left15:24
bobmcw left15:25
Illocution joined15:25
bobmcw joined15:25
bremner bremner, ok git reset seems to do the trick. sorry for the noise15:26
rubydiamond left15:29
bryanl joined15:30
earcar joined15:32
bremner one more question (for now :-). Is there a good way to find where the .git dir is in a normal worktree? I guess git does this all the time.15:33
greyface joined15:34
deskin bremner: git rev-parse --git-dir, as long as you're not in a subdir of .git itself15:34
bremner deskin, thanks15:35
Khisanth left15:35
deskin --show15:35
er --show-cdup is similar, in that it gives the argument to cd which will put you at the top of the worktree15:35
Ilari bremner: There's script for making new working trees. And it makes new repo which has some stuff as symlinks (refs/, logs/ and objects/) and some as seperate stuff.15:38
bremner Ilari: sounds useful. Actually, I figured out I can use git-archive, then set GIT_DIR the topgit export operation. That seems cleaner.15:39
__doc__ left15:41
bremner deskin: ref-parse --git-dir seems slightly inconsistent, since it gives absolute paths unless in the root of the worktree15:41
s/ref-parse/rev-parse15:42
aoper_ joined15:42
aoper left15:42
danten joined15:43
bremner deskin, anyway cdup is certainly usable, thanks again15:44
gebi_ joined15:45
bosie left15:48
gebi_ left15:50
gebi_ joined15:50
bobmcw left15:52
gebi left15:56
lresende left15:56
temoto left16:01
Tr3B_ left16:03
tanek__ left16:07
tanek_ joined16:09
charon left16:12
metaskills joined16:14
brennandunn joined16:15
metaskills Whoa... first time visiter to this channel. Lot of people :) Quick question if anyone can help.16:15
jast there's always a good chance someone can16:15
metaskills I am looking to share a topic branch that I'm pushing to a local server both me and a co-worker have access too.16:16
This topic branch is very divergent from the master and every now and then when I rebase it I have to alter some past commits in that topic branch to remove a file, where it was previously edited.16:17
The problem is when I go to push that topic branch up to the server I am sharing it over, I get [rejected] messages.16:17
Simetrical left16:18
jast the problem is that rebased branches and pull don't like each other much16:18
you can force the push (e.g. using -f) but the next pull by the other guy will be icky, and so on for every rebase either of you does16:18
same for pull --rebase, I guess16:19
metaskills That makes sense... let me try the -f option.16:19
That did work... I16:20
Simetrical joined16:20
metaskills http://pastie.org/34699916:21
Is this a no win scenerio?16:21
mndoci_ left16:21
jast collaborating on rebased branches always involves a fair amount of manual work16:21
metaskills That sounds fair.16:22
jast probably the easiest way to work with rebased branches is to create a series of patches from your local unpublished commits in that branch16:22
eMBee left16:22
mnemoc metaskills: rebase to the remote branch before pushing16:22
gebi_gebi16:22
eMBee joined16:22
jast and whenever you get an update from the other side, you just reset the topic branch to whatever went upstream and reapply those patches16:22
once you start rewriting older commits using pull --rebase or similar might be icky too16:23
it's worth a try, i suppose. you can undo pretty much anything anyway (if you know how).16:23
metaskills This is great info. I never knew you could rebase to a remote branch. Likewise the --rebase option to pull.16:25
peritus_ left16:25
jast you can rebase against pretty much anything (though it doesn't always make sense, of course)16:25
thiago left16:26
nice_burger joined16:26
stephens joined16:28
jmatthews left16:30
markkalderon joined16:33
QaDeS_ joined16:33
earcar left16:33
ckm joined16:34
jmatthews joined16:36
Sonderblade when using git-svn, is there a way to pull from the svn repository so that all new changes from it comes before all local branches?16:37
j_engelh eh?16:38
markkalderon left16:38
nice_burger really doubt it16:38
j_engelh sounds like trying to solve a nonexistent problem16:38
Sonderblade well i have x feature branches all based on the svn master16:39
nice_burger why would the order matter though16:39
j_engelh that's my word16:39
Sonderblade when someone commits to the svn repos, i want those commits to go before my local ones, so that my feature branches will still apply cleanly to svn trunk16:39
metaskills @jast and @mnemoc Was just chatting with my co-worker. It seems this is not so bad. I'll champion the rebase of our TB to master after we both reach certain milestones. If there is a conflict that causes me to alter a commit in the shared TB, then I'll use the -f option and he will delete and retrack the TB. Thanks for the help!!!16:40
jast sounds good. have fun. :)16:40
metaskills Thanks.16:41
bryanl left16:41
raz left16:41
omakase left16:42
EgS left16:42
Sput left16:42
metaskills Sonderblad: You should be working in a topic branch.16:43
EgS joined16:43
Sput joined16:43
Sonderblade metaskills: i am, thats what i meant with feature branch16:43
metaskills And just rebase from master. That way when you are ready to move those commits from your topic branch it will replay them all on top of master... they are ordered correctly.16:44
Oh... I might not understand the issue then.16:44
Because when I work in that flow, my TB commits are always after svn trunk ones.16:45
Sonderblade it is hard to explain16:46
rtomayko_ left16:46
dmq left16:47
parasti Sonderblade: how are you updating your git-svn repo? the only way I know of is by using "git svn rebase", and it does exactly what you're asking for16:49
peritus_ joined16:49
Sonderblade my repo tree looks like this: first master then 10 random commits, then head A. on top of head A there are 3 head branches B, C, D.16:51
akitada joined16:51
Sonderblade when i stand in head A and type "git svn rebase" new changes from svn is placed after head A16:51
which is not what i wanted. i wanted all new svn changes to be placed before the first commit to the head A branch16:52
Yuuhi joined16:52
da1l6 hi16:53
metaskills Sounds like your using git-svn to sync to more than one svn branch? If so that is far above what I do.16:54
da1l6 Tried to use git filter-branch to replace some invalid email addreses in older commit messages.16:54
But it keeps on frying the repository.16:54
Even simplifying a manpage example to the point where it essentially should do nothing has this problem:16:54
bobmcw joined16:55
da1l6 $ git filter-branch --commit-filter `git commit-tree "$@";` HEAD16:55
Outputs lots of usage help messages and end with:16:55
Ref 'refs/heads/master' was deleted16:55
fatal: Not a valid object name HEAD16:55
any hints what i am doing wrong?16:55
Sonderblade metaskills: nope16:55
wwwald left16:56
da1l6 git version 1.5.6.316:56
aspotashev joined17:01
nothinghappens joined17:02
bobmcw left17:03
parasti Sonderblade: git svn rebase works by taking all the commits since the last SVN commit, fetching new commits from SVN, then applying the non-SVN commits on top of the new commits17:03
RayMorgan joined17:03
parasti Sonderblade: if that's not what happens in your case, either it's a bug or there's something you're not telling us17:03
bobmcw joined17:04
Sonderblade parasti: does the "non-SVN commits" include all the local commits in all local branches?17:04
parasti Sonderblade: only the branch you are on when running git svn rebase17:04
Sonderblade parasti: ah so that is why it messes up my repository and creates duplicate commits17:06
dasil003 joined17:06
parasti Sonderblade: when you work with topic branches, usually you git svn rebase the main branch (like master), and then rebase each topic branch against master17:06
err, against the main branch17:07
josephwilk joined17:07
Sonderblade parasti: that's what i'm doing. it just seems unoptimal17:07
bobmcw left17:09
icwiener joined17:09
cgardner joined17:11
josephwilk left17:12
bobmcw joined17:17
rubydiamond joined17:18
metaskills left17:20
__david left17:21
dasil003 left17:21
QaDeS_QaDeS17:24
ceej joined17:24
ceej_ joined17:26
brennandunn left17:27
jepler left17:28
rubydiamond left17:30
akitada left17:31
RayMorgan_ joined17:34
jackdempsey joined17:35
bdiego joined17:37
ckm left17:38
ashH joined17:39
RayMorgan left17:40
hobodave joined17:45
litage joined17:46
oudeis left17:48
oudeis joined17:49
ceej left17:49
aoper_ left17:52
aoper joined17:53
Simetrical left17:53
ceej_ceej17:54
aoper left17:54
aoper joined17:55
muthu_ left17:55
omakase joined17:59
Simetrical joined18:00
foutrelis left18:04
pedro_mg joined18:06
unreal left18:10
unreal joined18:13
d0k joined18:18
QaDeS left18:18
davidfetter joined18:21
abbe joined18:22
peritus_ left18:23
octernion joined18:23
octernion hi, is there an easy way to apply all the commits from one branch in a specific directory to another branch?18:23
mnemoc octernion: add it as a remote and cherry-pick the range (or rebase)18:27
bremner mnemoc: "in a specific directory" ?18:28
octernion mnemoc: oh, i didn't know i could add arbitrary directories as remotes?18:28
jast arbitrary repositories, to be precise18:28
jackdempsey left18:29
mnemoc I assume it's another working directory (with it's corresponding .git)18:29
bremner octernion: the only way I know off hand uses git-filter-branch and git-format-patch.18:29
mndoci joined18:29
bremner octernion: I assume you just want changes to a subdir?18:29
octernion well, the directory itself doesn't have a .git18:29
aspotashev he probably meant "parts of commits" regarding particular subdirectories in the repository18:29
octernion bremner: yes, exactly18:29
aspotashev: yes, sorry for not being clear18:29
mnemoc ic18:29
octernion i will take a look at filter-branch and format-patch18:30
mnemoc if it's not a working directory, he doesn't have commits to filter18:30
bremner octernion: basically use (I think) subtree filter in a clone of the repo to get rid of everything else, format-patch to make patches, and git am to apply them18:31
less messy suggestions welcome18:31
octernion bremner: dang, that sounds pretty complicated :)18:31
patrikf joined18:31
octernion the problem arose because i was very stupid and thought i was working on master, when i was in fact working on a branch, and i want the specific changes (all in one subdirectory) to be available on master18:32
bremner octernion: if the changes really only touch that directory, you can use rebase18:33
lresende joined18:33
octernion bremner: yep, they are all there. how do i do that for the subdirectory?18:33
lresende left18:33
octernion (sorry, i've never actually used rebase :/)18:33
etienne9 joined18:34
bremner octernion: basically git checkout master && git rebase other-branch. see man git-rebase for some examples18:35
Gitbot octernion: the git-rebase manpage can be found at http://git.or.cz/man/git-rebase18:35
QaDeS joined18:35
octernion ok. the manpage is pretty helpful for that, i just didn't see anything pertaining to subdirectories18:36
ankit9 left18:36
Tv octernion: i don't see how subdirectories make any difference, in this case18:37
bremner octernion: you have to identify the commits somehow (git log is probably enough)18:37
octernion bremner: ahh, ok, i gotcha. thanks very much!18:37
lolage0 joined18:38
parasti bremner: that rebase example seems strange. what would it do? reset master to other-branch, then apply other-branch..master commits on top of it (basically a no-op)?18:39
bremner parasti: well, in the optimistic case that other-branch was branched from master, it should bring the other commits back. But yeah, in general more is needed18:40
markelikalderon joined18:41
bremner parasti: or maybe I am confused here.18:42
parasti bremner: I think the short version of that command sequence is git reset --hard other-branch :P18:42
aspotashev left18:44
bremner parasti: ok, the goal is git checkout other-branch && git format-patch since && git-checkout master && git am 000*18:44
aspotashev joined18:45
offby1 left18:45
bremner Can't rebase do that? I guess --onto is the trick, see the example in the man page18:46
faithfulgeek joined18:47
parasti bremner: yeah, that might work18:47
faithfulgeek left18:47
faithfulgeek joined18:48
bremner octernion: you follow that?18:48
octernion bremner: hmm, nope. i ended up just formatting the patch like you suggested earlier18:48
bremner octernion: OK :-)18:48
octernion it really wasn't that bad, since i realized it was only one commit :)18:48
bremner octernion: ahh, next time git-cherry-pick18:49
octernion but thanks for the comprehensive answer; i knew git would be able to do it18:49
bremner: yeah, actually i just saw it after i formatted it :(18:49
er, by it i mean i saw git-cherry-pick18:49
parasti "git log --pretty=email --reverse -p ..other-branch -- $subdir | git am18:49
" might do the trick18:49
octernion parasti: wow, nifty. thanks :)18:50
faithfulgeek left18:50
bobmcw left18:53
Mo joined18:53
Mo hi.how are you18:55
j_engelh better than you :p18:55
dreiss joined18:57
mnemoc woh, long time without seeing someone on irc with such a possive view of his life18:58
Mo left18:59
Jacolyte joined19:00
tomsw left19:03
markoa joined19:05
name joined19:07
jackdempsey joined19:07
offby1 joined19:09
name left19:10
perezd88 joined19:12
octernion left19:14
ceej left19:16
jbellis joined19:20
jbellis left19:21
earcar joined19:21
bosie joined19:21
aoper left19:22
earcar left19:24
jschoolcraft joined19:25
jschoolcraft can you git clone a specific branch or do you have to clone the whole repo and checkout the branch in question?19:25
offby1 excellent question19:26
dunno19:26
my guess is: yes, but you don't use "git clone"19:26
QaDeS left19:27
Tv jschoolcraft: you could init, remote add, fetch just the branch you're interested in, checkout -b19:27
offby1 instead I'd do "git init" and then "git remote add", passing a refspec that includes only that branch19:27
Tv jschoolcraft: most likely that isn't worth the trouble19:27
offby1 depends: if the source repository has a bunch of unrelated stuff in it, it might save a lot of download time19:27
Tv jschoolcraft: and if you weren't interested in minimizing download, just affecting what branch is checked out after clone, clone just checks out the remote HEAD, no way to affect that19:27
offby1: and i'm guessing 90% of the time typing in all that is slower than the download ;)19:28
offby1 could be19:28
Tv jschoolcraft: git clone foo bar && cd bar && git checkout -b foo origin/foo19:29
jschoolcraft Tv: offby1: thanks19:29
Tv (maybe with less collisions of meaning of foo)19:29
greyface left19:29
j_engelh offby1: -> offbydefault19:30
rubydiamond joined19:30
cemerick joined19:36
offby1 dude, don't be hatin' on my nick19:41
metajack left19:42
metajack joined19:42
davidfetter happy boxing day, Tv :)19:43
markoa left19:43
k776 joined19:45
ph^ left19:48
marvil07 left19:48
kumbayo joined19:48
ph^ joined19:49
charon joined19:49
sgrimm joined19:54
faithfulgeek joined19:55
dwmw2_gone joined20:00
jschoolcraft left20:01
leveille joined20:04
iulian left20:09
k776 left20:18
Tsion left20:20
jstad joined20:23
cemerick left20:25
advany joined20:27
lresende joined20:28
Eulex joined20:28
Eulex hello20:28
offby1 glances around nervously.20:28
me22 uhoh20:29
Eulex is there a way to properly clone a git-svn repo (so that I can commit) other than copying the files themselves?20:29
LiamH left20:30
Tv Eulex: cloning it and git svn rebuild used to work, but that command doesn't seem to exist anymore20:31
charon Eulex: run the same 'git svn init' command as for the original repo (or copy the relevant bits of .git/config), copy over the refs used by git-svn (possibly 'git-svn' or 'trunk'), then run 'git svn fetch' to rebuild its cache20:32
scientes left20:32
scientes joined20:32
offby1 charon: will that require re-downloading all the svn commits?20:33
Tv offby1: at least with older versions that was a "no"20:33
charon offby1: no, git-svn will just regenerate its internal cache from the git-svn-id: lines in the commit messages20:33
offby1 good.20:33
charon of course that won't work if you said --no-metadata, but you obviously shouldn't.20:33
offby1 I too have thought about this20:33
Tv git svn changes incompatibly often enough that it's kinda hard to know how it behaves20:33
Eulex charon: let's try that20:36
charon note that some tweaking of the fetch lines in .git/config may make this task much easier if you intend to run a central git-svn mirror that the other repos can fetch from20:38
perezd88 left20:38
ashleyw joined20:40
Eulex charon: interesting, which would those be?20:43
offby1 yeah, do tell20:46
Tv probably make git-svn write refs outside the remotes/ namespace, IIRC it does that by default20:47
(and that default makes perfect sense, they are refs controlled by outsiders, you shouldn't checkout & commit to them, etc..)20:47
charon that, or fetch them in the clone20:50
Tv well that's a per-clone config change20:51
charon true, but it'll put them in the place where git-svn expects it20:51
e.g. you could add a line to the remote saying 'fetch = +refs/remotes/git-svn:refs/remotes/git-svn' (if you use a branch-less git-svn setup)20:51
Tv yeah.. git-svn isn't really designed to share the gittifying work20:51
offby1 that sounds awfully sensible20:52
wonder why I didn't think of that20:52
bobesponja joined20:54
jast there's an example in the git-svn manpage for the centralized git-svn mirror scenario20:54
drizzd joined20:54
leveille left20:56
offby1 there is?!20:57
offby1 never noticed that20:57
Eulex jast: taking a look at that20:58
offby1 Oh yeah: "If multiple people (or one person with multiple machines) want to use ..."20:58
metajack left20:58
jast yeah, that20:58
recently fixed so it actually works20:59
offby1 never even thought to try that.20:59
offby1 administers self-dope-slap20:59
chalky left20:59
metajack joined20:59
offby1 The question is: can those different people share patches without committing them to svn?21:00
jast that's where it gets hairy21:00
offby1 I managed somehow. Not sure what I did.21:00
jast it's not that bad if you have a single integrator21:01
offby1 actually, in my case, "those different people" were all me, just working on different machines.21:01
icwiener left21:01
offby1 My company uses svn, but I prefer git ... and I sometimes do my work on my work box, and sometimes on my laptop at home.21:01
jast if the patches in question don't change during the rebase (and neither does their order), it generally works21:02
chipdude joined21:03
bobesponja_ joined21:06
offby1 I suspect I fell into that category21:06
exg left21:07
oudeis left21:07
Eulex jast: I suspect I've got such instructions that don't work; I never get any contents in the directory itself, and the last command to run, git-svn rebase, fails with "fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree."21:07
bdiego left21:07
Eulex so where do I find the new ones? :)21:08
nvm, found it21:09
bobesponja_ left21:11
dduncan joined21:12
jstad left21:12
bobesponja left21:13
jast great :)21:13
offby1 I love questions that answer themselves21:14
dduncan left21:14
pygi left21:15
abbe left21:15
clairvy joined21:18
altfive joined21:19
ijcd joined21:19
Eulex now I've got a directory full of files, and all three branches (master, git-svn and git-svn@1081), I ran git-svn init to set the right upstream svn repo, but when I run git-svn rebase I get "Unable to determine upstream SVN information from working tree history"21:19
exg joined21:20
name joined21:20
rtomayko joined21:21
pygi joined21:25
spearce joined21:26
marvil07 joined21:26
clairvy__ joined21:28
oudeis joined21:31
Tr3B joined21:32
cgardner left21:32
cemerick joined21:32
faithfulgeek left21:36
Sonderblade i have a gray "stash" branch, how do i reach it?21:37
DrNick2 joined21:37
j_engelh gray!?21:37
it's either blue or it's your terminal color21:37
DrNick left21:38
DrNick2DrNick21:38
drizzd in gitk it's grey I believe21:38
Voker57 left21:39
j_engelh absolutely not.21:39
For believing, please visit Church.21:39
vmiklos :)21:39
drizzd j_engelh: the "stash" label in gitk is grey (the shade between black and white)21:40
Sonderblade whatever21:41
i still need to reach it21:41
cemerick left21:41
doener it's not a branch (like master), it's a ref referencing your top-most stash entry21:41
drizzd Sonderblade: the stash is not really a branch, see "git stash list"21:42
doener and the stash is accessed using "git stash"21:42
Sonderblade is it deletable? i dont want it anymore21:42
doener git help stash21:43
clairvy left21:44
j_engelh your display must really suck then21:44
mndoci left21:44
j_engelh stash tag is not gray: http://tinyurl.com/a5wpea21:45
drizzd j_engelh: what color do you think it is? your picture still looks grey to me21:46
Sonderblade me too21:47
it is your display that suck!21:47
j_engelh drizzd: pale blue. aka #8080FF21:47
mixed by using 1/2 #0000FF + 1/2 #FFFFFF21:48
ashleyw left21:49
doener hm, gimp tells me that it's #ddddff21:49
j_engelh that's still not gray21:50
(albeit a bit more of the 'pale' in 'pale blue')21:50
doener I didn't say it's grey, just that it's #ddddff, not #8080ff21:50
j_engelh point taken21:51
cemerick joined21:52
mndoci joined21:55
cemerick left21:57
knobo joined21:57
Sonderblade i have a TB on top of my local branch which is branched from master. is there a way to diff TB against master so that the changes in the local branch is somehow excluded?21:59
gitster rebase TB on top of master?22:00
Sonderblade then i will get lots of conflicts to resolve22:01
doener hm, do you really want to diff against master, or do you want a diff of the changes that "TB" introduced?22:01
for the latter, "git diff local...TB" should do22:01
that's a diff of TB against the merge base of TB and "local"22:02
offby1 left22:03
joshdavey joined22:03
doener short of a better description: a cumulative diff of the commits that are in TB but not in local22:03
Sonderblade i want the changes TB would have introduced had it been based on master22:05
gottesmm joined22:05
Sonderblade the TB to master diff - the local to mater diff22:06
drizzd git diff master..TB22:06
Sonderblade drizzd: no, that includes changesets from local22:07
drizzd Sonderblade: if git rebase cannot rebase without conflicts, how do you think git diff should be able to find the solution?22:09
Sonderblade by subtracting the local branch changesets22:12
mwmw|out22:12
scientes left22:13
perezd88 joined22:14
perezd88 left22:14
alikins_ joined22:17
spearce left22:18
greyface joined22:18
alikins left22:18
mw|out left22:19
mw|out joined22:20
pedro_mg left22:23
nice_burger left22:24
davidfetter left22:26
knobo If someone pushes changes to my repository, I can see the changes with git-log, but how do I update my branch(current files) with the canges?22:27
Acry_ler left22:29
knobo git-fetch says: fatal: 'origin': unable to chdir or not a git archive22:29
Eulex you could fetch directly from the url to the repo22:29
or set origin correctly, then retry22:30
(git remote add origin blahblah)22:30
knobo so git fetch ./git should do it?22:30
gitster knobo: is this about the "don't push into a non-bare repository" faq?22:30
ari-_-e joined22:31
knobo gitster: I don't know. I'll have to check.22:31
gasbag joined22:31
Eulex uh, so someone pushed into your repository on your computer?22:31
gitster you earlier said "someone pushes changes to my repository".22:31
ari-_-e how might I go about completely removing a couple of commits from my history, i.e. without using git revert?22:31
and no, they're not the two most current ones22:31
Eulex or to the repository on a server?22:31
parasti ari-_-e: git rebase -i $commitbeforeallofthem22:32
gitster that is not exact enough description. "to your repository's _which_ branch" and "if that branch is the one you have checked out and is working on" are necessary to answer your question.22:32
parasti ari-_-e: it might not work if you have merges after that commit, have a look at the manpage22:33
ari-_-e parasti: no merges, this is a very simple linear history22:33
gitster If the answers are "pushed to the branch I have checked out", and "no, luckily I do not have any local changes in my working tree", then the answer is "git reset --hard". But look for "mothership/satellite" to find a better arrangement to allow pushing into a non-bare repository in the FAQ.22:34
ari-_-e parasti: NICE, I tried using git-rebase, but I was missing the -i22:34
worked like a charm, thanks22:34
parasti ari-_-e: you've been missing out. ;) have fun22:35
knobo gitster: it's the "Why won't I see changes in the remote repo after "git push"?" faq.22:35
So, I'll just read the faq.22:35
Eulex knobo: as I said, it appears that you don't have an origin set.22:36
gitster has given answers in advance ;-)22:36
joshdavey left22:40
altfive left22:40
__doc__ joined22:41
gasbag left22:42
knobo Eulex: it appears that I did not read the faq ;)22:43
Eulex :)22:44
danten left22:45
ari-_-e so if I have some random string, how would I go about finding out if it's the name of a branch?22:45
Eulex well, is i listed in git branch? :)22:46
ari-_-e right, but programmatically22:47
I assume git branch|grep stuff isn't the right way to do it :-/22:47
Eulex you could |grep "^[* ] stuff$" I guess22:49
git_ joined22:51
git_ hi, anyone know where i can get a static binary of git?22:51
rtomayko left22:52
faithfulgeek joined22:52
drizzd ari-_-e: git show-ref --heads <branch> (no output if <branch> is not a branch)22:52
ari-_-e drizzd: cool, thanks22:52
drizzd git_: your preferred distribution probably22:53
gottesmm left22:54
cemerick joined22:56
gottesmm joined22:56
cemerick left22:57
marvil07 left22:58
akitada joined23:00
Ademan left23:09
peritus_ joined23:10
j_engelh left23:10
daonb left23:15
gottesmm left23:17
Turl1 joined23:20
Turl1 hello123:20
kukks left23:20
Turl1 how can I revert any changes to my git clone and leave it as it is in the server?23:20
selckin left23:20
spearce joined23:24
kumbayo left23:25
peritus_ left23:26
spearce` joined23:27
spearce left23:29
hobodave left23:32
bosie left23:33
j_engelh joined23:33
j_engelh left23:33
charon Turl1: depends what kind of changes you made. if you are still on the 'master' branch (check 'git branch') and the 'origin' remote is still there, you can say 'git reset --hard origin/master'. obviously that's a rather destructive operation.23:35
ph^ left23:37
markelikalderon left23:37
markelikalderon joined23:38
markelikalderon left23:38
lholden joined23:40
Tr3B left23:45
Turl1 left23:46
hobodave joined23:46
k776 joined23:52
mbroeker left23:58
hobodave left23:59

Logs Search ←Prev date Next date→ Channels Documentation