IRCloggy #git 2009-11-10

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.

2009-11-10

Turias left00:00
unreal left00:03
pcc1 how can I git svn init an existing git repository that was created from svn without needing to create the repository again?00:04
jast use git svn init with identical parameters, then git svn fetch, then git svn rebase00:04
Paraselene_ left00:04
jast this only works if the original git-svn repo was created without noMetadata00:04
psycovic_ left00:04
jayne_ left00:04
unreal joined00:04
jast it also needs to have all the git-svn branches in the right places00:04
jayne joined00:05
jnareb What was "Bug-tracking in git.git" on GitTogether'09 (by peff) about?00:05
jast probably something horrible ;)00:05
parasti left00:06
m104 joined00:06
mugwump jnareb: just about possibilities for keeping a collaborative todo list00:07
kardan_ joined00:07
kiwinewt joined00:07
mugwump we talked about having a project on github and using sd or cil etc00:07
wouldn't be a "put your gripe here"-type public list, more for co-ordinating bug triaging and fixes00:07
kpreid_ left00:08
kpreid_ joined00:08
hobodave joined00:09
SRabbelier left00:09
jnareb mugwump: thanks again00:10
mugwump np!00:10
volante joined00:10
kardan| left00:11
mjc left00:11
Paraselene__ joined00:12
volante how do i find the merge which introduced a certain commit into a branch00:12
Alien_Freak left00:12
ciskje left00:14
jmspeex left00:17
kiwinewt left00:18
bambule left00:19
Haarg left00:20
uroborosmjf00:21
jchris left00:21
marc_m left00:22
tamm0r left00:22
slabbeh left00:23
leitao left00:25
rtyler left00:27
ctusar joined00:27
skyl joined00:28
rtyler joined00:29
giallu_ left00:30
freerobby joined00:32
jmspeex joined00:32
freerobby left00:33
orafu left00:33
orafu joined00:33
madewokherd joined00:38
Hydrox left00:39
qrush left00:39
psycovic joined00:39
eletuchy joined00:40
tekky left00:40
hobodave left00:42
nothingHappens left00:43
dfr|work left00:44
onigiri left00:45
mcella left00:45
sgh left00:47
agile joined00:47
ryoma joined00:47
wald0 left00:47
icwiener left00:47
scarabx joined00:48
pcc1 how can I set the (git svn init) --add-author-from option after I have already created the repository?00:49
m-takagim-takagi_00:49
jnareb left00:49
dmlloyd left00:52
drewolson left00:52
crazychenz_ joined00:52
mjf left00:54
jchris joined00:56
dmlloyd joined01:02
jmcantrell joined01:03
fynn joined01:03
fynn Yo. I have repo/somedir which normally contains committed files. however, every once in a while those files are deleted. problem is, git seems to delete repo/somedir if it doesn't contain any committed files.01:04
What's a good way to prevent that, so that repo/somedir would remain (as an empty directory) even when all its contents are deleted?01:05
FunkeeMonk left01:05
Aikawa joined01:05
pantsman left01:06
nsussman left01:08
DrNick fynn: stick an empty .gitignore in there01:08
__iron left01:09
fynn DrNick: yeah, except if anything, it shouldn't be a .gitignore :)01:09
why make any git operation check one extra file.01:09
DrNick because git doesn't support empty directories01:09
so unless you want to implement them, that's the current solution01:09
fynn DrNick: yeah, I'll use that, but I won't call the empty file .gitignore.01:10
patmaddox left01:14
rchavik joined01:14
dsch04 left01:15
dreiss left01:15
Aikawa_ left01:17
bibinou_ joined01:17
j416 left01:17
Aikawa_ joined01:18
bibinou left01:18
Aikawa left01:19
bibinou_bibinou01:19
qhoxie_ left01:19
rchavik1 joined01:20
cxvii joined01:20
gk left01:21
gk joined01:21
brodie left01:21
tvw left01:21
rfayrfay_afk01:21
jedahan joined01:21
brodie joined01:21
tvw joined01:21
jedahan what documentation should I read for adding a remote branch, merging the two, and keeping up to date on both with a git pull?01:22
justin-george left01:22
jinzhu joined01:25
ChenKaie left01:27
icule1 joined01:27
kennethlove left01:29
icule1 Hi, gang. Is there a way to grep for a string through past revisions of a file? I would like to find the commit in which some particular string existed (it did not exist for many commits).01:30
thorkild joined01:31
j416 joined01:32
patmaddox joined01:32
rchavik left01:32
rchavik1rchavik01:32
mugwump icule1: git log -S, git blame01:34
bibinou left01:34
thorkild If I have two remote branches, lets say 200 and 213, and I make a commit on the 213 branch (the 213 differs a lot from 200). Now I know my changes won't lead to that many conflicts, so I'd like to merge in exactly my commit. How would I do that? I've tried a number of ways, but I too often end up pulling in other changes between 200 and 21301:34
patmaddox left01:34
thorkild I thought I could use git cherry pick, but it failed to work with remote bracnh01:35
krynnotaur left01:35
cxvii left01:35
thorkild umm.. it seems to work. I must have had a typo earlier :)01:36
justinsb_ joined01:37
icule1 mugwump: Wonderful. "git log -Sstring -- file" did it! Thanks!01:37
fynn left01:38
thorkild left01:38
drewolson joined01:39
drewolson left01:39
dwmw2_gone_ joined01:40
Chillance left01:41
dwmw2_gone left01:41
skyl I am editing a submodule. I try to push to a remote and it says everything is up-to-date. Apparently, in the submodule, you can't $git add . ; git commit; git push origin master #?01:41
icule1 left01:43
dwmw2_gone_ left01:43
crazychenz_ left01:44
jstephenson left01:44
skyl git submodule update rolls me back to the original commit01:45
doener left01:45
doener joined01:45
skyl I want to let the submodules advance and be able to edit them and push/pull from within the larger module01:46
siks joined01:46
javatexan left01:46
dwmw2_gone_ joined01:46
plediii joined01:47
tbuehlmann left01:47
hydrogen joined01:47
hyperair joined01:47
ctusar left01:48
ChenKaie joined01:49
nevyn left01:50
jmcantrell left01:51
nevyn joined01:52
skyl is editing a submodule and pushing to it's remote and advancing what the parent repo's update does ... not supported?01:52
elmex left01:54
volante how do i un git-add a file?01:54
ie. check out the HEAD revision of the file into the index, but without changing my working copy01:55
selckin git status will tell you01:55
volante excellent, thanks :)01:55
intripoon left01:56
doener skyl: you're most likely on a detached HEAD in the submodule repo01:56
skyl: so the "git commit" step didn't update any branch heads, so there's nothing to push01:56
skyl: (at least not with the push defaults)01:56
siksi left01:57
elmex joined01:58
skyl doener yes, I see ``detached HEAD 3953978``01:59
after I commit01:59
keex left02:00
godsflaw left02:01
mattayers left02:02
psynaptic joined02:03
TeckniX left02:08
bugfux left02:08
bugfux joined02:08
sagsousuke left02:14
spearce left02:15
tetha left02:17
r11t joined02:17
tedoc2000 left02:18
psynaptic left02:19
paltman joined02:20
tedoc2000 joined02:21
dwmw2_gone_ left02:21
brizly left02:23
dwmw2_gone_ joined02:23
upul joined02:24
VVSiz_ joined02:24
dreiss joined02:26
hgimenez left02:26
hgimenez joined02:26
jmspeex left02:28
Adlai` joined02:30
blakemizerany joined02:33
blakemizerany I'm having a nasty .git/index.lock problem on Snow Leopard (haven't tried anything else yet) where this http://github.com/bmizerany/fido/blob/work/bin/fido#L45 fails to complete because it's hitting a lock file issue it seems. or that it's failing and leaving behind the lock file. can someone point me to something that can help me debug this?02:34
brizly joined02:37
JNR___ joined02:38
mugwump blakemizerany: the vfs on Mac OS X is totally fucked02:38
engla left02:38
Ilari blakemizerany: The usual way of handling lockfiles is to first check wheither some git operation that might have that lock is running and if not, delete the lockfile.02:38
mugwump you can write out a file and then another process running on the other processor won't see it because it hasn't propagated to the other processor's dircache yet02:39
the workaround is apparently to disable smp02:39
Ilari mugwump: The other processor still has negative dircache entry on it?02:40
mugwump for whatever reason, it sees a stale view of the filesystem02:40
blakemizerany mugwump: ah. hrm. when I run the commands chained with && manually `git init && git remote add origin git://github.com/sinatra/sinatra.git` && git fetch origin && git reset --hard origin/0.3.x && git branch -M 0.3.x` it works fine. could it be the script is treating it differently?02:41
mugwump it might succeed randomly of course02:41
blakemizerany mugwump: it fails 100% of the time in the sh script. never when I run it manually02:42
mugwump well, maybe it's not the same bug02:42
VVSiz left02:42
mugwump or maybe the script tickles it reliably for some reason02:42
just be warned not to expect sense out of the VFS on that platform. I don't know if git has a workaround for it02:43
someone mentioned it at GitTogether, that's all...02:43
blakemizerany mugwump: I understand. I tried adding a sleep before the reset just for kicks but it still failed. reset is failing and leaving the index.lock behind02:43
mugwump ok, that's useful02:44
Ilari blakemizerany: With what error? If its about index.lock, then what command is leaving it?02:44
mugwump you might find 'trace' / 'dtrace' useful02:44
bcardarella joined02:45
blakemizerany https://gist.github.com/5e318493533907940dc702:46
mugwump: heh. I've been trying to learn dtrace all afternoon to figure this out02:46
Ilari: that is the output I get with sh -x02:46
on the first run02:46
Ilari Hmm.... fatal: unable to write new index file02:47
blakemizerany Ilari: this is the second run with the rm -rf sinatra/ https://gist.github.com/5e318493533907940dc702:47
juan_arandaalvar left02:48
Ilari Heh... pu still contains term "ent" in source...02:48
mugwump ent as in trees?02:49
I thought that was gone..02:49
Guest39988 left02:49
qhoxie_ joined02:50
Adlai left02:50
blakemizerany crap. need to run. I'll let you know if I figure anything. if something comes to anyone please let me know. I've been trying to fix this for awhile.02:50
blakemizerany left02:50
Ilari mugwump: " "-m ent" or "--reset ent" form),"02:51
bugfux left02:52
hyperair left02:52
Theravadan left02:53
Ilari Also: " /* sha1:path --> object name of path in ent sha1"02:54
jrmuizel joined02:56
r11t_ joined02:57
ctusar joined02:57
JNR___ left02:57
tmh joined02:58
j416 left02:58
tmh Can anyone recommend a Git book? 'Pro Git' is available online, so that's probably a good choice, but there's also 'Pragmatic Version Control Using Git', it looks good.02:59
m-takagi_m-takagi02:59
juan_arandaalvar joined03:00
WALoeIII left03:02
justinsb_ left03:04
justinsb_ joined03:05
jedahan i recommend 'Moby Git or, The Walrus'03:05
unfortunately its hard to find a copy03:06
blakemizerany joined03:06
vbgunz__ left03:06
WALoeIII joined03:09
hyperair joined03:09
r11t left03:09
tvw left03:10
jmspeex joined03:11
Theravadan joined03:12
bcardarella_ joined03:13
sh1mmer joined03:14
mfilipe left03:14
bcardarella_ left03:15
meanburrito920_ joined03:20
cytrinox_ joined03:20
bcardarella left03:20
leaf-sheep joined03:21
tek0 left03:22
tek0 joined03:22
flazz joined03:22
fr- joined03:22
rheddry joined03:22
Tommy[D]_ left03:22
Arrowmaster left03:22
agib left03:22
incd^ left03:22
runasand left03:22
seanius left03:22
USA_NO_1 left03:22
jksz left03:22
agrippa left03:22
_masta__ left03:22
jujule2 left03:22
samjam left03:22
corecode left03:22
capnkernul left03:22
ToxicFrog left03:22
nothingmuch left03:22
thijso left03:22
nano- left03:22
mapreduce left03:22
Leonidas left03:22
numbah left03:22
tpope left03:22
cornbread left03:22
dna left03:22
redondos left03:22
broonie left03:22
SunilThaha left03:22
KeeperOfTheSoul left03:22
literal left03:22
mika left03:22
ferdy left03:22
ruxpin left03:22
SethX left03:22
Spark left03:22
Trey left03:22
wereHamster left03:22
awx left03:22
joevano left03:22
orospakr left03:22
pippijn left03:22
quentusrex left03:22
snuxoll left03:22
charlls left03:22
ramsey left03:22
candybar left03:22
Mikachu left03:22
rgs__ left03:22
fr| left03:22
BeerSerc left03:22
sejo left03:22
Bucciarati left03:22
reuss left03:22
Mizar-jp left03:22
henr_k left03:22
levifig left03:22
siraj left03:22
stepnem left03:22
stepnem_ joined03:22
rheddrylevifig03:22
Leonidas joined03:23
SethX joined03:23
candybar joined03:23
cornbread joined03:23
stepnem_stepnem03:23
literal joined03:23
mapreduce joined03:23
jujule2 joined03:23
runasand joined03:24
KeeperOfTheSoul joined03:24
broonie joined03:24
pippijn joined03:24
nothingmuch joined03:24
tpope joined03:24
Arrowmaster joined03:24
Trey joined03:24
Spark joined03:24
sejo joined03:24
mika joined03:24
joevano joined03:24
jksz joined03:24
flaguy48 left03:24
stepnem left03:25
stepnem joined03:26
seanbrant left03:26
siraj joined03:27
snuxoll joined03:28
nano- joined03:28
wereHamster joined03:28
USA_NO_1 joined03:28
_masta_ joined03:28
corecode joined03:28
BeerSerc joined03:28
ruxpin joined03:28
reuss joined03:28
numbah joined03:28
thijso joined03:28
ferdy joined03:28
ramsey joined03:28
henr_k joined03:28
incd^ joined03:28
seanius joined03:28
stepnem left03:30
stepnem joined03:31
cedric_ joined03:32
orospakr joined03:33
Mikachu joined03:33
Bucciarati joined03:33
sh1mmer left03:36
moconnor joined03:36
sh1m joined03:36
cytrinox left03:36
cytrinox_cytrinox03:36
paltman left03:36
aspotashev_ joined03:38
LiamH left03:39
aspotashev left03:39
dna_ joined03:39
hobodave joined03:40
imajes left03:40
skyl left03:41
_martinS_ left03:43
squentin left03:43
ben_h joined03:45
tedoc2000 left03:45
aspotashev joined03:45
aspotashev_ left03:45
quentusrex joined03:46
blakemizerany mugwump: do you have any suggestions on where I could start with dtrace for my problem? I'm tried some simple things with it earlier but only got this: https://gist.github.com/960edf3b03be71b5ea4f03:46
agib joined03:47
capnkernul joined03:47
agrippa joined03:47
Mizar-jp joined03:47
awx joined03:47
charlls joined03:47
samjam joined03:47
ToxicFrog joined03:47
imajes joined03:48
SunilThaha joined03:48
redondos joined03:48
erikvold left03:48
cedricv left03:49
mugwump blakemizerany: ok, that trace is a little had to read compared to say strace03:50
it's not really showing all system calls is it03:50
in particular it would be nice to know what the exec args were, to see which process was 'git reset'03:51
blakemizerany mugwump: yeah. I need strace. I've looking for how to get it working on os x. I've just been told dtruss will work somewhat03:52
tjaway joined03:52
CareBear\ blakemizerany : ktrace/kdump03:52
blakemizerany : or dtrace03:52
stepnem left03:53
blakemizerany CareBear\: man dtruss looks to say it uses dtrace03:53
stepnem joined03:53
tjafk left03:54
mugwump truss is good too03:55
blakemizerany mugwump: https://gist.github.com/5d1377466cda94be745203:55
Analias joined03:55
mugwump that's not a sensible trace, try redirecting output to a file03:56
using -o or whatever03:57
solofight joined03:57
stepnem left03:58
stepnem joined03:58
blakemizerany ok03:58
kimmie joined03:59
jedahan left04:00
deitarion joined04:00
stringo0 joined04:01
deitarion Is there a way to split my ~/.gitconfig into two files so I can keep the passwords and GitHub token in a private half and put the plain ordinary settings in a publicly-visible "roaming profile repo"?04:02
Ilari deitarion: What passwords can .gitconfig even contain?04:03
deitarion [sendemail] -> smtppass04:03
kurtiss left04:03
aspotashev left04:03
aresnick joined04:03
Rolenun left04:06
tek0 left04:07
tek0 joined04:07
yhager_ joined04:08
eletuchy left04:08
kimmie left04:08
kimmie joined04:08
haider joined04:08
juan_arandaalvar left04:09
leaf-sheep left04:10
blakemizerany mugwump: https://gist.github.com/be1e3f701fb8bf357d26 any better?04:12
mugwump blakemizerany: it just seems to be much more verbose now with still the same small number of syscalls04:14
blakemizerany heh. yeah. I don't think strace works on os x04:14
paltman joined04:14
crbhome_ joined04:15
sh1m left04:20
yhager left04:21
moconnor left04:23
sam_ joined04:23
Adlai`` joined04:25
sh1mmer joined04:28
bdimcheff joined04:28
jschoolcraft left04:30
Adlai` left04:33
Modius_ left04:33
Modius joined04:33
intripoon joined04:34
sam_ left04:36
gretch_ left04:40
gretch_ joined04:40
hobodave left04:41
kouj joined04:44
blakemizerany mugwump: here are the last 500 lines of the dtruss https://gist.github.com/aa8df88d2a4572a4bd9004:44
mugwump: I figured out how to work it. heh04:44
moconnor joined04:44
Bass10 joined04:44
hyperair left04:46
mugwump blakemizerany: ok, so wth does -1 Err#2 mean?04:48
is that like ENOENT?04:49
argonel left04:50
argonel joined04:50
thomas__ joined04:51
blakemizerany left04:52
blakemizerany joined04:53
blakemizerany mugwump: I'm not sure. I looking now04:53
kouj left04:54
blakemizerany mugwump: it's the return code. I know that04:54
not sure what it's exact meaning in this context means04:54
trying to google but coming up short04:55
mugwump the man page for that system call should tell you04:55
aresnick left04:55
tg left04:56
tg joined04:56
abms1116 joined04:58
yaotti joined04:58
eck joined05:00
yaotti_aw joined05:00
yaotti_awyaotti_05:00
jonmasters left05:03
yarddog joined05:03
yarddogGuest8368905:03
Adlai``` joined05:05
Guest83689 left05:06
blakemizerany mugwump: it's ENOENT05:06
btipling joined05:07
paltman left05:08
btipling hi05:08
I have two machines, each with branches of the same git repository05:08
one of these machines has local branches I would like to transfer to the other machine05:08
is this possible?05:09
jonmasters joined05:11
tmh left05:11
PerlJam btipling: yes, but don't ask me exactly how.05:14
btipling heh05:14
blakemizerany btipling: yes. git remote add othermachine git-url05:14
btipling: git fetch othermachine05:14
PerlJam btipling: what blakemizerany said sounds right05:14
btipling hrm05:14
blakemizerany git checkout -b otherbranch othermachine/otherbranch05:14
btipling ok but say I wanted to kill the repo05:15
on my first machine05:15
would the othermachine become the new owner of that local branch?05:15
blakemizerany btipling: that was to be done on the machine that you want the commits to be trasfered too05:15
btipling: owner?05:15
btipling well05:15
blakemizerany no concept of owner it git05:16
btipling ok so when I first created the local branch05:16
blakemizerany you can push from one machine to the other too05:16
btipling I did a checkout -b branchname05:16
kimmie left05:16
btipling and I can merge it with master05:16
on the original machine just fine05:16
but if I do as you suggest will I be able to remove the git repo on my original machine05:16
and then on the new machine merge and pull from master or rebase05:16
as I would be able to on the original machine?05:17
meanburrito920_ left05:17
moconnor left05:17
btipling blakemizerany: thanks for your help by the way05:17
blakemizerany btipling: np. yes you can merge it. they are the same repos right? just one is ahead/behind the other?05:17
or are they totally different repos (i.e. started as diff projects)05:18
?05:18
btipling hrm, ok so there is a central remote machine05:18
a server sort of05:18
kind of like in subversion05:18
that is the origin master05:18
my macbook is the original machine that first pulled in from this master05:18
and on this macbook I created a new local branch and edited it05:19
and have occaisionally rebased it with master05:19
now I have a new machine, an ubuntu machine05:19
this ubuntu machine also has a copy of this same repository from the central server05:19
but it doesn't have the local branch that my macbook has05:19
I would like to move my workflow over to the ubuntu machine05:20
and be able to rebase merge etc just as I was able to on my macbook05:20
occaisionally*05:20
blakemizerany: you think that is possible?05:21
blakemizerany btipling: yeah. I do that all the time. I work on one machine and push my changes to the remote server. then, when I want to work on another I fetch then merge the changes to the other machine from the server05:21
if one advances ahead of the other, I just rebase when I get to the other machine05:22
btipling hrm05:22
ok so my ubuntu machine doesn't have the local branch and on my mac I pushed it with: git push origin branchname:branchname05:23
abms1116 left05:23
btipling so from ubuntu I'd git pull origin branchname:branchname?05:23
hrm05:23
blakemizerany btipling: http://gitcasts.com/posts/distributed-workflow05:23
btipling blakemizerany: sweet thanks05:23
blakemizerany that may help. just pretend you're playing the role of both developers05:23
btipling ok :)05:24
Adlai`` left05:24
kukks left05:25
thomas__ left05:25
s0ber_ joined05:26
j416 joined05:26
juan_arandaalvar joined05:28
psankar joined05:28
WALoeIII left05:29
awx left05:30
moconnor joined05:30
joevano left05:31
btipling that's kind of complex05:31
blakemizerany mugwump: so it looks like it's not finding the lock file.. it may be the vfs like you said05:32
tansell-laptop left05:33
Ilari blakemizerany: Can you modify the source and drill down what fails?05:35
yarddog joined05:35
yarddogGuest9831205:35
Ilari blakemizerany: Looks like either write_cache() or commit_locked_index() fails (builtin-read-tree.c)05:35
awx joined05:36
blakemizerany Ilari: I don't know if I'm that advanced. I can try. :)05:36
ArdRigh joined05:37
Ilari blakemizerany: As first step, breaking the if into its components (and giving both distinctive errors could point which of them fails).05:37
s0ber left05:38
blakemizerany Ilari: ah. I thought you meant using a tool. you mean print-statement debugging. yeah. I can do that. :)05:40
I'm trying to run the script on debian machine first to see if it's just mac05:40
I want to fix it for mac too but I really need it for debian05:40
btipling left05:40
Ilari blakemizerany: If its VFS, then it won't fail in Debian. Linux VFS doesn't suck.05:41
blakemizerany heh. I'll try to triangulate05:41
bdimcheff left05:42
jfkw left05:42
Ilari blakemizerany: Useful first triangulation is write_cache() or commit_locked_index()?05:42
bdimcheff joined05:43
s0ber joined05:43
bdimcheff left05:43
s0ber_ left05:43
Ilari blakemizerany: Looks like commit_locked_index() can fail if either close on file descriptor or rename fails.05:44
blakemizerany Ilari: no. if it works without fail on debian then I'm sure it's a mac thing. I need it working on mac too so I was determined to find the problem.. if it was running on debian I would still have the problem of now knowing what was erroring out. now I have a better idea. so if it works on debian then we know it's probably macs vfs and we can narrow from there05:44
rgs__ joined05:45
blakemizerany Ilari: does that sound sane at all?05:45
Ilari blakemizerany: I would rather narrow it first (at least the first narrow). If its VFS borkage, I would guess commit_locked_index() fails.05:47
blakemizerany Ilari: ok. I'll need to get the git source first. one sec05:47
Ilari blakemizerany: From version I have, the code that needs to be modified is at end of builtin-read-tree.c05:49
blakemizerany ok05:49
moconnor left05:49
blakemizerany I'm downloading 1.6.5.105:49
eck` joined05:49
moconnor joined05:50
blakemizerany Ilari: you're thinking just before the return?05:51
Ilari blakemizerany: Theres 'if (write_cache(newfd, active_cache, active_nr) || commit_locked_index(&lock_file))' just before return. Split that into two with their own errors (just to be sure, modify both errors a bit in case its not that if which fails).05:52
modsognir_ joined05:52
patcito left05:52
ilteris__ joined05:54
Ilari blakemizerany: I.e. 'if(write_cache(...)) die(...); if(commit_locked_index(...)) die(...);'05:54
blakemizerany ah05:54
Ilari: building05:57
quentusrex left05:59
davey joined06:01
flazz left06:01
jrmuizel left06:01
zjason left06:02
zjason joined06:02
kinja-sheep joined06:03
Pupeno joined06:04
eck left06:04
blakemizerany Ilari: https://gist.github.com/a4c70c2402bebf7ec5d706:05
that printing nothing06:05
Ilari: correction. it just printed "unable to write new index file" without the "debug version!"06:05
so I'm not sure what I did wrong. I ran `make && sudo make install`06:06
and they didn't fail06:06
after ./configure of course06:06
andy7534211 left06:06
blakemizerany sorry it's a little hard to read there.. I don't have tabs set and didn't realize right away06:06
schmukkk left06:07
Ilari blakemizerany: So commit_index_file failed?06:08
hyperair joined06:08
blakemizerany I don't think the method I changed got called.. it never said "debug version!"06:08
modsognir left06:08
modsognir_modsognir06:08
jmspeex left06:09
lresende joined06:09
Ilari blakemizerany: Check where it installed the binaries?06:09
blakemizerany: And don't use ./configure06:10
blakemizerany I ran make clean06:10
patmaddox joined06:10
blakemizerany re-running make06:10
Ilari blakemizerany: 'make prefix=<somewhere>', 'sudo make prefix=<somewhere> install'.06:10
moconnor left06:11
blakemizerany Ilari: as I wait.. I want to thank you for your help. I really appreciate it06:11
Ilari blakemizerany: Yes, the prefixes need to match.06:11
Pupeno_ joined06:11
yhager_ left06:12
Ilari blakemizerany: And one reason why I wanted both messages to differ from original is to detect if it is this code path or not.06:12
intripoon left06:12
tansell-laptop joined06:13
ThellThell|Away06:15
eletuchy joined06:17
wolog left06:18
blakemizerany Ilari: almost done.. I think06:18
hyperair left06:20
hyperair joined06:20
ilteris__ left06:21
elTigre joined06:23
crbhome_ left06:24
Pupeno left06:27
Pupeno_Pupeno06:27
hyperair left06:29
scarabx left06:31
Axius joined06:31
galderz joined06:32
Darkas_ joined06:34
davey left06:34
a-atwood left06:35
a-atwood joined06:35
davey joined06:35
blakemizerany Ilari: ok. whew. done. I'm getting the "debug version!" now06:36
"unable to write new index file"06:36
Ilari blakemizerany: Which one fails?06:36
blakemizerany Ilari: commit_locked_index06:36
Ilari blakemizerany: Next point of attack: commit_lock_file() and commit_locked_index() in lockfile.c.06:37
blakemizerany k06:37
Theravadan left06:37
RobertMeta__ joined06:37
RobertMeta_ left06:37
agile left06:38
Ilari blakemizerany: Put debugging prints just before it returns -1 (2 places in both functions). Actually, useful to use 'perror("...")' so it prints error code too.06:38
blakemizerany ok06:38
Ilari blakemizerany: Note that you need to insert { } to block them correctly.06:38
Axius left06:39
Ilari blakemizerany: 'if (lk->fd >= 0 && close_lock_file(lk)) { perror("close"); return -1; }' 'if (rename(lk->filename, result_file)) { perror("rename"); return -1; }'. Or something like that.06:41
blakemizerany Ilari: yeah. it's building now06:41
Darkas_ left06:41
patmaddox left06:42
hydrogen left06:42
Guest26373 left06:42
Ilari blakemizerany: My guess. rename fails.06:43
blakemizerany Ilari: yeah. mine too. that is what dtruss was saying06:43
bousquet joined06:43
Ilari blakemizerany: Did it give error code too?06:43
blakemizerany Ilari: rename in commit_lock_file: No such file or directory06:43
Ilari: yes. ENOENT06:43
Ilari: hah. did you not see the previous convo? We'll,, now we are sure. :)06:44
Ilari: does this help make any sense of what the rename fails?06:45
*why06:45
Ilari blakemizerany: Seeing the name of file it tried to rename but failed could be useful.06:46
blakemizerany Ilari: sinatra/.git/index.lock06:46
Ilari: https://gist.github.com/19749b8330f8d14d433d06:46
Adlai``` left06:47
ben_h left06:47
Adlai``` joined06:48
cao joined06:50
Ilari blakemizerany: Can you show the trace from point where index.lock gets created?06:50
caoGuest7997806:50
blakemizerany Ilari: I think so.. yes06:50
moconnor joined06:50
Weasel[DK] joined06:51
Ilari blakemizerany: BTW: I have seen weird behaviour when the current directory of process gets deleted...06:51
hyperair joined06:52
Bass10 left06:56
blakemizerany Ilari: know a place I can dump a gz file for quick download? the raw trace was big06:57
Ilari blakemizerany: Well, just to check that git isn't trying to do something stupid like unlink the lockfile and then try to move it or something like that.06:58
volante left06:59
davido left06:59
r11t_ left06:59
r11t joined07:00
agile joined07:00
Ilari blakemizerany: If its rename failing even if the file should exist, then that would strongly suggest that VFS fscks it. Actually, I don't think this can be the 'deleted directory' problem since such directory can not have files (file creation fails).07:00
blakemizerany Ilari: when I go into the repo's .git after the script finishes the index.lock file is there.. so it's odd the rename would fail07:01
davey left07:01
blakemizerany Ilari: I have not idea if this is safe or not but you can get the gz here (I randomly found this) http://www.quickfilepost.com/download.do?get=7eeadeb03ee76eafaa4b408fb297efe807:02
hyperair left07:02
hyperair joined07:02
blakemizerany Ilari: I think that site is from the early '90's.. heh. wow07:04
juan_arandaalva1 joined07:05
juan_arandaalvar left07:05
Ilari blakemizerany: I don't see index.lock renamed in that trace?07:06
sde_antrix1 joined07:06
blakemizerany see that gist above.. that was without the backtrace07:07
methanol left07:07
methanol joined07:07
Ilari blakemizerany: Well if it fails with ENOENT and file is there after failure exit, that would point to VFS fscking it.07:08
blakemizerany Ilari: Line 180518 of the big trace is what comes after the rename07:08
lucs_ joined07:10
Ilari blakemizerany: That trace has close failing with error 9 (its Bad File Number here).07:12
qhoxie_qhoxie07:12
blakemizerany Ilari: any idea what would cause the bad file num?07:12
mjc joined07:13
Ilari blakemizerany: Ah, it's from sh.07:14
tetha joined07:14
blakemizerany Ilari: really?07:14
Ilari: here is the script: http://github.com/bmizerany/fido/blob/work/bin/fido07:15
Ilari: how do you figure? do you mind showing me what you see? I'm not great at reading those traces07:15
Aikawa joined07:15
Ilari blakemizerany: The part before the backtick looks like executable name.07:17
blakemizerany Ilari: before what backtick?07:17
moconnor left07:17
nighthwk1 left07:17
blakemizerany Ilari: here? http://github.com/bmizerany/fido/blob/work/bin/fido#L1807:17
gretch_ left07:18
blakemizerany are you looking at the script or in the trace?07:18
Ilari blakemizerany: In the backtraces in that syscall trace.07:18
MetaCosm_ joined07:18
blakemizerany Ilari: the big one?07:18
Ilari blakemizerany: Yes.07:19
blakemizerany: Hmm... Can one set affinity for shell and all its subporcesses? If it was set to just one core, that could make caches coherent enough for git to work.07:20
blakemizerany Ilari: dunno. let me check07:20
r11t left07:21
zomg ha, gotta love these commits that fix some svn oddity that happens because I commit stuff thru git :p07:23
bambule joined07:23
zomg like a coworker just commited to fix a mime-type for a file that svn could not figure was binary on its own but git did =)07:23
blind_oracle joined07:25
marc_m joined07:26
zjason left07:26
zjason joined07:26
davegb3 left07:28
krawek left07:29
lucs left07:30
ludde joined07:30
tango__ joined07:31
Aikawa_ left07:31
BlindOracle left07:32
drizzd joined07:32
juan_arandaalva1 left07:33
patmaddox joined07:34
kingfishr joined07:34
blakemizerany Ilari: this looks like something close.. not sure http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man3/sysctlbyname.3.html#//apple_ref/doc/man/3/sysctlbyname07:34
juan_arandaalvar joined07:34
MetaCosm left07:35
kinja-sheep left07:36
exg joined07:38
tango_ left07:38
moconnor joined07:38
ben_h joined07:39
hyperair left07:39
hyperair joined07:39
eck`` joined07:39
jmspeex joined07:40
ankit9 left07:41
VVSiz_VVSiz07:47
moconnor left07:48
saurabhverma joined07:49
bambule left07:50
eck` left07:51
johan-s left07:52
blakemizerany Ilari: I got it!07:53
eck``` joined07:53
blakemizerany Ilari: http://github.com/bmizerany/fido/blob/work/bin/fido#L2707:53
Ilari: I changed mkdir the worktree the cd to it before the init.. viola07:54
trochala joined07:54
blakemizerany Ilari: I only did that because taking the param is a feature of 1.6 and no 1.5 and we only have 1.5 in production so I made the change and it started working.07:54
ixti joined07:55
blakemizerany Ilari: I have no idea why that was causing it though07:55
mcella joined07:57
yitz_ joined07:58
bousquet left07:59
ikrabbe joined07:59
yitz_ Ooh. Crowded... Right. So I pulled a git repo, modified a file, did 'git commit -s file' and described my patch. http://www.archlinux.org/pacman/submitting-patches.html indicates I now do git format-patch to create a patch I can email in but I can't figure out the syntax to spit me out a patch07:59
bousquet joined08:00
froschi joined08:00
wolog joined08:01
thiago_home joined08:01
zjason left08:02
Axius joined08:03
j416 left08:03
dreiss left08:03
zjason joined08:06
eck`` left08:07
Axius left08:09
jaysern left08:09
ikrabbe hi i used push|pull on my git svn clone. is there any way to repair that clone afterwards. it seems that it completely lost track of the git svn repository. can I reinit it somehow?08:10
jaysern joined08:11
przemoc86przemoc08:11
Tobin joined08:14
bigmack83 joined08:14
bigmack83_ joined08:14
giallu joined08:15
bousquet left08:15
tango__tango_08:15
dsch04 joined08:16
yitz_ left08:18
ikrabbe what it does now is telling me. "unable to determine upstream SVN information from working tree history". But git log gives me git-svn-id's that look ok08:19
ikrabbe1 joined08:20
Adlai``` left08:20
wereHamster ikrabbe: are you trying to dcommit?08:21
ikrabbe1 no I'm trying to rebase to get it in sync08:21
again08:21
ph^_ joined08:21
Adlai``` joined08:21
ikrabbe left08:21
stringo0 left08:24
ikrabbe1 what I actually did is, I followed "http://translate.org.za/blogs/wynand/en/content/changing-your-svn-repository-address-git-svn-setup" steps 5 and 608:24
err, and 4. of course08:24
zjason left08:25
ikrabbe1 I though that would get me in line with the original svn repository again08:25
zjason joined08:25
ikrabbe1ikrabbe08:26
ppawel joined08:27
ikrabbe maybe my main error was following step 4. rm -rf .git/svn08:28
I hoped that it could be rebuild08:28
eck``` left08:29
johan-s joined08:29
zjason left08:30
zjason joined08:31
DavidKlein joined08:31
DavidKlein left08:31
Vortex joined08:33
Vortex Hello any expert with DUKPT encryption/decryption ? i am looking for experienced people only , i pay alot of $ .08:33
thiago_home what does that have to do with Git?08:35
arialdo joined08:37
dpino joined08:37
arialdo Hi. I'm a Git newbie and I have a little doubt: I clone from a repository, then I modify a file in the master branch. After that should I push my master or should the origin's owner fetch from me? Or both?08:39
teuf it's more natural to push your master08:39
since the other way round implies the origin owner has access to your local machine08:39
arialdo teuf: after I pushed, in the origin the owner will see another branch with my differences, right?08:41
zoniq joined08:41
arialdo teuf: and he will eventually merge to the origin/master. Am I right?08:41
teuf depends on how you push08:43
Dashkal joined08:43
arialdo teuf: Oh, I understand I have much more to study.... I studied the progit book, may be it's not enough08:43
DiaPo joined08:43
DocAl joined08:45
DocAl Hello08:45
arialdo teuf: only to give me a hint (in order to let me find more infos), what do you mean with "depends on how you push"?08:45
teuf hmm, in fact maybe I gave you bad advice :)08:46
generally people have a local repository, push to some online repository they own08:46
and the "origin owner" fetches and merges stuff from this online repository as appropriate08:47
at least this is how I generally work08:47
DocAl Tell me please, is there any way to help git tracking big-and-rarely-changed-binary-files?08:47
Some filesystem that have built-in support for SHA1 caching, or whatever..08:48
bentob0x joined08:49
arialdo teuf: oh, I understand, that makes sense08:50
wereHamster DocAl: don't track big binary files ;)08:50
mattayers joined08:50
arialdo teuf: I asked you that because when I launch "git push origin master" I'm receiving a warning08:52
thiago_home left08:52
zjason left08:52
zjason joined08:53
arialdo teuf: with this message http://bin.cakephp.org/view/12682888208:53
teuf: which let me think I was doing something wrong....08:53
Axius joined08:55
DocAl wereHamster: Can you suggest something that suits better for tracking such files?08:55
psoo joined08:56
DocAl wereHamster: Cause I can't just, you know, don't track them08:56
charon teuf: $faq non-bare08:57
Gitbot teuf: Pushing to non-bare repositories is discouraged. See http://git.or.cz/gitwiki/GitFaq#non-bare08:57
charon er, wrong address, sorry. arialdo ^08:57
arialdo charon: you're welcome :)08:58
jnl joined08:58
jnl left08:58
yeiugx joined08:58
arialdo charon: can you give me a help with that warning message? Where can I find more infos?08:58
jnl joined08:59
jnl left08:59
charon arialdo: that warning is because you are pushing to the HEAD of a non-bare repository. read the FAQ entry for more info08:59
arialdo charon: Unfortunately, I found a lot of articles about git commands, but notthing about "best practices" with git.. And I don't want to learn a wrong way to use git08:59
charon: I'm doing it, thank you!09:00
ikrabbe arialdo: try #man gittutorial09:00
Gitbot arialdo: the gittutorial manpage can be found at http://git.or.cz/man/gittutorial09:00
jnl joined09:01
tbf joined09:01
arialdo ikrabbe: thank you! And thank you everyone for the help you are giving on irc09:01
charon arialdo: also, man gitworkflows, though that's about branches, not remotes.09:01
Gitbot arialdo: the gitworkflows manpage can be found at http://git.or.cz/man/gitworkflows09:01
Vortex left09:01
juan_arandaalva1 joined09:01
ikrabbe and then finally all the other man-pages )09:01
engla joined09:01
arialdo charon: excellent! Thank you again09:01
ereslibre left09:01
juan_arandaalvar left09:02
shruggar joined09:02
jmspeex left09:03
fluxusps joined09:05
metze_awaymetze09:06
DocAl Is there anything that could help git tracking big binary files, save the "don't track big binary files"?09:09
wereHamster DocAl: track them in a separate rep and use symlinks09:10
doener what kind of big binary files? Do you need history for them?09:10
DocAl I've got a set of imagery files, I got to store history for them, through they aren't changed that often09:11
Adlai``` left09:12
DocAl I track them in separate repo, but still it takes quite a while when I try to commit them09:12
Adlai``` joined09:12
doener DocAl: hm, committing or "git add"?09:13
DocAl doener: actually, I'm using git add . && git commit -a09:13
doener which is like "git add -A && git commit", unless you abort the commit by not providing a commit message (but that's a detail...)09:14
and usually, the "git add -A" step should be the one that takes long, as it has to look through the working tree and writes the blobs09:15
DocAl doener: it there any better way, provided it should be done unattended?09:15
wereHamster commmit -m or -F09:17
doener DocAl: you might be wasting some time with the (probably pointless) gzip compression for those blobs. Images are usually already compressed, so the gzipping is pointless09:17
froschi left09:17
girishr joined09:17
doener DocAl: but with which git version is that? Recent ones default to "best speed" compression for loose objects anyway09:17
jayne_ joined09:18
DocAl doener: 1.6.309:18
jayne_ left09:18
doener DocAl: you could try to set core.loosecompression to 0 (no compression). But it's quite possible that you're IO-bound09:19
DocAl doener: I'm not that proficient with git internals, but I guess it got to re-calculate digest for every file that's tracked, right? (I'd say, I'm not any proficient with it, even)09:20
charon DocAl: not unless the stat() info changes, i.e., you touch the file09:22
j416 joined09:24
DocAl charon: Oh, I see, makes sense09:24
fluxusps left09:26
aatanasov joined09:30
ArdRigh left09:31
DocAl Could stat() be a bottleneck for tracking ~100k of binary files?09:33
charon yes, though *nix with a local FS usually has no problem with it09:33
doener in a single directory, or in some hierarchy?09:33
Dashkal left09:34
evl joined09:34
DocAl in some hierarchy... i can provide you with some statistics on distribution, if it would help09:34
doener DocAl: not really, I guess. Unless it's 99k in one dir, and 1k in the others ;-)09:35
juan_arandaalva1 left09:35
juan_arandaalvar joined09:36
DocAl I guess, there shouldn't be any single directory with more than 5k files in it09:36
doener DocAl: just asked because even on *nix, lookups can become slow if a single directory has tons of dentries (especially without things like ext3/4's dirindex)09:36
torben left09:37
torben joined09:37
tono joined09:38
DocAl well, I've got vanilla ext3, as it ships with debian... dunno about dirindex, but it performs better than UFS09:38
gazra joined09:39
doener DocAl: sudo dumpe2fs /dev/whatever | grep dir_index09:39
gazra left09:40
nikki93 joined09:41
loincloth left09:41
nikki93 Whaddya guys think of this comparision: http://www.stevestreeting.com/2009/11/06/dvcs-score-card/ ?09:41
dsch04 left09:42
doener haha, ls -l is really really eager to output things in the right local timezone... One stat("/etc/localtime") for each file it shows it seems...09:42
mastro joined09:43
doener and thinking about it, I'm inclined to think of that as a bug rather than a feature. It shouldn't start showing things relative to a different timezone somewhere in the middle of the output09:43
DocAl yes, it has dir_index09:44
charon nikki93: fun how he slams git for failing to import svn1.3 repos with git 1.5. other than that it looks fairly balanced, even though the neatly equal scores are hard to believe09:46
joeytwiddle wow doener, so it does :E09:46
zjason left09:47
charon nikki93: that being said, hg-git worked for me so the discussion may very well be moot as soon as it spreads a bit09:49
kraymer joined09:50
ben_h left09:50
zjason joined09:52
Adlai``` left09:52
Adlai``` joined09:52
disappearedng joined09:53
disappearedng Hey how do I tell git to use vim?09:53
joeytwiddle this works for most sytems, don't know about git: export EDITOR=vim09:53
doener git config --global core.editor vim09:54
disappearedng thx09:54
I tried googling that but to no avail09:54
doener git help config # Better than google, I guess09:55
omerj_ joined09:55
petrux joined09:56
zjason left09:56
zjason joined09:57
omerj_ left09:58
JEEB joined09:59
disappearedng haha thx anyway10:00
patmaddox left10:02
d0k joined10:03
cenuij joined10:04
omerj left10:05
froschi joined10:05
dsch04 joined10:07
tamm0r joined10:07
psynaptic joined10:09
DocAl left10:09
gazra joined10:10
eletuchy left10:11
eletuchy joined10:12
rettub joined10:13
tg left10:13
eletuchy left10:14
tg joined10:14
tg left10:14
aliceinwire_ left10:15
juan_arandaalvar left10:17
ankit9 joined10:17
ToxicFrog` joined10:19
dsop is there a way to get the last tag name from a certain commit, without the abbrev format?10:19
tg joined10:20
tango_ dsop: you mean like git describe?10:21
ToxicFrog left10:22
dsop ah found git describe --abbrev=0 --tags10:22
stuffcor1sestuffcorpse10:23
froschi left10:27
solofight left10:29
dwmw2_gone_ left10:30
SRabbelier joined10:31
yaotti left10:31
werdnativ I applied a stash and I have an unmerged file, which I deleted. Now I'm stuck: how do I get it to forget that file?10:33
ryoma left10:33
tango_ werdnativ: git rm filename10:34
countd left10:34
werdnativ that was easy... I was trying all sorts of reset/checkout!10:35
Akufen left10:38
s0ber left10:41
tamm0r hi... assume I have a git svn repository with two branches (implicit master + e.g. feat_branch)... now I want to get upstream changes from svn... 'git svn fetch' should load them into the git repo, right? but how do I apply these changes to either the master branch, the feature branch or even both?10:42
cenuij left10:44
leachbj_ left10:45
Axius left10:46
ToxicFrog` left10:46
doener tamm0r: with git svn, you'll want to use "git svn rebase".10:46
fluxusps joined10:46
girishr left10:47
s0ber joined10:47
cenuij joined10:47
girishr joined10:49
tamm0r doener: does rebase apply upstream changes to all branches? or only to the branch I'm currently working in?10:49
froschi joined10:50
doener tamm0r: it will rebase only what you have currently checked out. You need your working tree to resolve conflicts, so that won't work with things that aren't checked out10:50
tamm0r: and rebase re-applies _your_ changes on top of the new upstream, not the other way around10:51
ToxicFrog joined10:51
doener tamm0r: otherwise, you would rewrite upstream's history10:51
tamm0r doener: that makes sense... can't wait to try this out :-)10:52
pti joined10:53
tamm0r doener: thanks a lot!10:53
SAHarvey joined10:53
doener you're welcome10:54
SAHarvey Is there any trick to getting git hooks to execute? I have created a post-receive hook but it isn't getting executed when I deploy....10:55
doener SAHarvey: chmod +x10:55
SAHarvey doener: Yup, I've done that10:55
ntoll joined10:55
j416 SAHarvey: file name wrong?10:55
SAHarvey the file name is "post-receive"10:56
doener SAHarvey: how did you test that it's not being executed?10:56
crazychenz joined10:56
SAHarvey Inside the post-receive file I'm echoing some text. I assume this would be outputted if it were working10:56
doener SAHarvey: yup, the "git push" process should output that text10:57
SAHarvey: mind pastebinning the script?10:57
froschi left10:57
greenfox joined10:58
SAHarvey http://pastebin.com/d766ee55310:58
yaotti joined10:59
SAHarvey I can execute the script from the command line and it works as expected10:59
galderz left10:59
Yuuhi joined11:02
doener SAHarvey: which git version is on the box you're pushing to?11:02
SAHarvey git version 1.5.5.611:02
locally I have: git version 1.6.0.411:02
doener new enough for post-receive11:03
(it's there since 1.5.1)11:03
dwmw2_gone_ joined11:04
doener SAHarvey: does your "git push" call actually update any refs in the remote repo?11:06
SAHarvey: if not, the hook isn't executed11:06
SAHarvey doener: How would I determine that?11:07
doener SAHarvey: i.e. if you see "Everything up-to-date", the hook isn't run11:07
SAHarvey $ git push11:07
Everything up-to-date11:07
That's what I'm seeing11:07
doener there we go.11:07
Nothing push => no hook being run11:08
s/push/pushed/11:08
pti left11:09
SAHarvey but even if I add a file and push it doesn't get run...11:10
doener SAHarvey: you did commit, right?11:10
SAHarvey yeah, does this look right? http://pastebin.com/d1d2c25af11:12
pti joined11:12
froschi joined11:12
doener SAHarvey: partially. I guess vs123.server.com from the hook is actually vs9058.bluebox... from the push output?11:14
solofight joined11:14
doener SAHarvey: if so, it's kind of weird that you ssh to the same box again in the hook11:14
ikrabbe for security: does git need a full shell on the git server, or what server command is run, that I might restrict the git users to this command?11:14
when connection through ssh ofc.11:14
doener ikrabbe: there's git-shell. sitaram once pastebinned a very very minimal wrapper around it so it works as a forced ssh keyauth command11:15
SAHarvey doener: On the server I have the git repository as well as another cloned version of the repository used for my ticketing system11:15
doener SAHarvey: but isn't just (cd /home/deploy/git_repositories/sunrise && git pull) enough? Without the "ssh localhost" (basically) part?11:16
SAHarvey: or do you have that hook in your local repo? That would be totally wrong11:16
SAHarvey yes, I have put the post-receive hook on my local machine.11:17
doener SAHarvey: well, your local repo doesn't receive anything...11:17
SAHarvey: the post-receive hook should be on the receiving side11:17
SAHarvey ah right, let me give that a shot11:18
Adlai```Adlai11:20
ikrabbe left11:21
ntoll left11:23
Axius joined11:23
SAHarvey doener: The post-receive hook is now being run as expected. Thanks for sorting that one out for me11:24
girishr left11:25
girishr joined11:25
icwiener joined11:27
hugoxrosa left11:29
upul left11:31
jinzhu left11:31
SAHarvey doener: I'm having one more problem with this hook for some reason the 'git pull' won't execute inside my post-receive hook script. http://pastebin.com/d423d0a9111:32
doener SAHarvey: ah, the hooks run with GIT_DIR set to .11:32
SAHarvey: just unset that11:33
SAHarvey: for safety, you'll also want to unset GIT_WORK_TREE11:33
d0k left11:34
s0ber_ joined11:35
jschoolcraft joined11:35
yaotti left11:35
SAHarvey doener: That's works perfect now. Thanks again for all the help11:36
greenfox left11:37
saurabhverma left11:38
s0ber left11:38
ntoll joined11:38
crazychenz left11:39
SAHarvey left11:40
ikrabbe joined11:40
mcella_ joined11:44
riz2 left11:47
stepnem left11:49
stepnem joined11:49
ehabkost joined11:50
mcella left11:50
Grahack joined11:50
girishr left11:51
girishr joined11:51
m-takagim-takagi_11:52
stepnem left11:55
ikrabbe looks much more easy to do a chroot but using git-shell11:55
stepnem joined11:55
doener left11:57
__iron joined11:58
lorandi joined11:59
__iron left12:00
ehabkost left12:00
doener joined12:01
solofight left12:03
cenuij left12:04
caio joined12:04
tasslehoff joined12:05
caio how can I untrack a file without removing it?12:05
I really need to untrack it before putting in .git/info/exclude file?12:06
voker57 left12:07
kiuma joined12:07
tasslehoff I'm using a local (unchanged) branch tracking a remote. After a "git pull origin pristine-dev" it says ""Your branch is ahead of 'origin/pristine-dev' by 34 commits.". If I then do "git fetch", this goes away. Should that last step be needed?12:07
cenuij joined12:07
kiuma hello, how can I simply type `git push` instead of `git push origin master` ?12:07
flazz joined12:10
flazz left12:11
flazz joined12:11
ehabkost joined12:11
parasti joined12:11
caio kiuma: what error occurs when you try to push?12:12
ikrabbe cairo I'm not completely sure, but you should try git rm --cached (see manual)12:12
kiuma caio, after having done the first `git push origin master`: nothing (sorry)12:14
Ryback_ joined12:14
caio kiuma: try to configure with git config push.default current12:15
kiuma caio, thanks12:17
stepnem left12:18
stepnem joined12:18
tvw joined12:20
ben_h joined12:21
Grahack left12:23
stepnem left12:23
bibinou joined12:23
stepnem joined12:24
stepnem left12:24
caio anyone knows how can I permanently ignore changes in a specific file?12:27
zomg Assuming it's not tracked you can put it to your gitignore12:28
caio like git update-index --assume-unchanges12:28
saurabhverma joined12:28
zomg Not sure if it's already tracked12:28
caio yes, it's tracked, but it's a database configuration file12:28
that I don't need to update anymore (in remote server)12:29
other solution for this?12:29
Tobin left12:29
dwmw2_gone_dwmw212:29
corni joined12:30
caio I need this file to be pushed just when I specify12:30
nikki93 left12:31
j416 caio: "pushed just when you specify" ?12:31
Ilari caio: You can't push only a single file. Git does not have per-file history. Commits are pushed whole.12:31
j416 caio: why don't you just keep it in your repo, and create a commit whenever you have updated it12:32
if it is unchanged, keeping it tracked over a long time won't increase the repo size12:32
stepnem joined12:32
j416 (well, apart from a few bytes that the file name will take up in the tree)12:32
zomg caio: typically you'd commit config files as "templates"12:33
j416 ... which will probably be delta-compressed anyway :)12:33
caio because it's a configuration file, different for "development" and "production"12:33
zomg ie database.config.template, and then when deploying you'd just cp database.config.template database.config or w/e12:33
caio so I need some specific configuration for running in remote server12:33
vbgunz__ joined12:34
j416 caio: for that, I (personally) would have a main branch with your dev stuff in, and a separate branch containing the specific settings for your server, and then rebase that on top of your dev/main branch12:34
caio at this time, I use a git hook to to this (override the file with a template), but I don't know if it's an elegant solution :(12:35
hmm.12:35
hugoxrosa joined12:36
j416 of course, this needs your changes in the "settings branch" to be clean enough to not generate much conflicts12:36
hopefully no conflicts at all12:36
(if you keep settings and such separated)12:36
blakemizerany left12:37
caio for my case, git update-index --assume-unchanged works, but It's not permanent. :(12:38
galderz joined12:39
girishr left12:39
ehabkost left12:39
EricInBNE left12:39
maleknet joined12:40
girishr joined12:41
cjs_ joined12:42
ikrabbe cairo: why don't you git rm --cached FILE && echo FILE >> .gitignore12:42
that should work I think12:43
d1b joined12:43
Adlai` joined12:43
cjs_cjs12:44
lorandi left12:44
mattayers Hi all, what's the best way of creating a staging or live branch and keeping it consistent with other branches when needed. Should I just check it out, and then do git reset --hard master, to make it have the same position as master?12:44
cjs So, has anybody used the svn.authorsfile setting in one's ~/.gitconfig? I can't seem to get it to work, though the --authors-file option on the command line works fine for me.12:44
lorandi joined12:45
caio ikrabbe: because it will remove the file from the remote repository :S12:45
ehabkost joined12:45
cjs Maybe it works for init, but not clone?12:46
Crap, that's it.12:46
Adlai left12:46
Adlai`Adlai12:46
jrmuizel joined12:46
bibinou left12:49
saurabhverma left12:49
kraymer left12:49
cjs Or I guess it must be fetch, not init.12:49
Hendu joined12:49
bibinou joined12:49
artefon joined12:49
girishr left12:50
artefon left12:50
cjs How do I file a bug report?12:51
ikrabbe cairo: before you think too long about this problem simply distributing a file to your remote repositories is no option?12:51
ia left12:52
ia joined12:53
Ilari cjs: Mailing list.12:53
cjs What's the list address?12:54
Ilari [email@hidden.address]12:57
LRN left12:57
j416 left12:58
bvolvo joined12:59
cjs Just to make sure, is that the appropriate place for git-svn bugs?12:59
gordonjcp left13:00
voker57 joined13:02
Ilari cjs: AFAIK, it is.13:03
psynaptic left13:07
yaotti joined13:07
cjs Ok, but report sent.13:09
kpreid_ left13:09
cjs (I expect it may get held for moderation, as I'm not subscribed to that list.)13:09
arialdo left13:10
stuffcorpse left13:10
J13R left13:10
charon cjs: afaik there's no moderation, but the greylisting can take a while13:11
psynaptic joined13:11
cjs What's the command to pack things in the repo?13:12
leanucci joined13:13
cjs The git community book gives me the format of the file, but no commands to manipulate it. Do I just write my own program to create packfiles? :-)13:13
charon git gc13:14
Ilari cjs: 'git gc', 'git repack'. Then there's the low level command to create packfile.13:14
cjs: git gc runs git repack as one of the things it runs.13:14
cjs Ah.13:15
And I presume it's save to do this on a git svn clone?13:15
Ilari cjs: Usually git repack is invoked with -a and -d options (pack all, delete existing packs).13:15
cjs (I.e., all the svn stuff will continue to work, so I can rebase, push patches back, etc.? I'm doing this before I have any local mods, i.e., right after a git svn rebase or, in my case, a fresh git svn fetch.)13:15
freerobby joined13:15
Ilari cjs: Yes, it is safe with git svn.13:16
cjs: There's also --window and --depth. Those can be increased if you want small size on expense of CPU (and memory) use when packing. Sometimes -f is also used (if the existing packs are in bad shape packing-wise).13:18
coteyr joined13:18
charon cjs: gc is "always" safe; the only thing that you can lose with it are old unreachable objects13:19
coteyr ok so heres a question for you, I am trying to clone a repo (from github). This repo has several large files. The eniter repo is about 90 megs. when I clone the repo I can a connection timmed out error during reciving objects. This seems very new and did not happen untill recently.13:20
I can use an older verion of git on a older machine thats laying around, and git clone works fine aginst the same repo.13:20
cjs Ilari, charon: Thanks.13:21
coteyr I tried (on the newer broken machine) a second repo with large files and it also fails.13:21
with a small repo everything works fine.13:22
any one got any ideas?13:22
bvolvo left13:23
coteyr git version 1.6.3.3 = not working git 1.5.4.3 = working (but be aware the version are not on the same version of the same OS, so there could be things there)13:23
charon coteyr: is that a public repo? if so, what's the url?13:24
LRN joined13:24
ankit9_ joined13:24
ankit9_ left13:24
kiuma left13:25
coteyr not a public repo I'm afraid. It is on github but private. The Git hub staff claim they can clone it, and I can clone it from other non-1.6.3.3 machines13:25
cenuij left13:25
tamm0r coteyr: you wrote that this didn't happen "until recently"... did it ever work with 1.6.3.3?13:25
ben_h left13:27
tbuehlmann joined13:27
hydrogen joined13:27
coteyr tamm0r, I updated to ubuntu 9.10 and got a new version of git. No it has never worked with 1.6.3.3, it used to work with 1.6.0.x under the older version of ubuntu13:27
cenuij joined13:27
coteyr I did downgrade to 1.6.0.x and got the same error13:28
if I had to make a random guess I would point it at ssh config issues, but the ssh_config file is identical to the one on the older host (hardy, running 1.5.4.3)13:28
tstclair-outtstclair13:29
coteyr and there both just default anyways13:29
hummingkid left13:30
tamm0r coteyr: downgrade ubuntu? (just kidding ;)13:30
lucsky joined13:32
Ilari Does SSH have keepalive setting? Lowering it might help timeouts (but it doesn't help if the connection actually jams).13:32
bartocc joined13:33
intripoon joined13:33
chty joined13:33
tasslehoff left13:33
deavid left13:34
bdimcheff joined13:34
kpreid_ joined13:34
meanburrito920_ joined13:36
cyclist joined13:36
freerobby left13:36
deavid joined13:36
wagle_home left13:37
Messi joined13:37
Messi juego de boxeo online http://www.kobox.org/kobox-fande-Nourine.html13:38
Messi left13:38
gasbag joined13:38
steveire left13:41
hydrogen left13:42
bdimcheff left13:42
steveire joined13:43
ctusar left13:43
j416 joined13:43
flazz left13:43
flazz joined13:44
kpreid_ left13:46
matthewford joined13:46
bartocc left13:46
flazz left13:47
chty hello. after a `git fetch -v origin`, I still have some unexisting remote branches through `git branch -a`. does somebody know why? (example http://gist.github.com/230895)13:47
psynaptic left13:48
chty (my git version is 1.6.5)13:48
maleknet left13:49
mm_work joined13:49
jrmuizel left13:51
girishr_ joined13:53
wagle_home joined13:53
DiaPo left13:53
coteyr llari; tried that but it still fails13:54
trying to access it over a git protocall13:54
if that works we know it's an ssh problem13:54
Ilari coteyr: Private repos are ssh://-only.13:55
coteyr: Also, what is the exact connection timed out error message?13:55
coteyr llari; well thats just wonderful13:55
llari, one sec13:55
coteyr left13:56
gasbag left13:56
jfkw joined13:57
cyclist left13:57
coteyr joined13:58
coteyr Read from remote host github.com: Connection timed out/s13:58
fatal: The remote end hung up unexpectedly13:58
fatal: early EOF13:58
fatal: index-pack failed13:58
sdboyer joined13:58
aresnick joined13:59
Yuuhi left13:59
coteyr that happens during reciving objects13:59
seezer joined13:59
Ilari coteyr: grepping git source yields no matches for 'from remote host'. Presumably that error comes from ssh client.14:00
engla left14:00
johnnyg joined14:00
Ilari coteyr: And in ssh://, git doesn't open any connections directly.14:00
johnnyg left14:00
coteyr llari, right which is why I would guess that the problem is ssh related.14:01
bibinou left14:01
Ilari coteyr: Or related to your connection.14:01
coteyr llari, however I can scp files all over the place, and I have active ssh sessions all over the place so.....14:01
squentin joined14:02
bibinou joined14:02
m-takagi_m-takagi14:02
coteyr llari, true, but I have several other active connections to things and none of them are having a problem (when I just rejoind irc it was because of a mis click)14:02
froschi left14:02
gazra_ joined14:02
girishr_ left14:02
kpreid_ joined14:04
Ilari coteyr: Packet logs from hang could be interesting. Real timing out connection shows up as nothing being received and ACKs/data being transmitted over and over (until TCP stack gives up).14:04
coteyr llari, no problem getting that for you buy how?14:05
need this issue resolved of course so willing to work for it, but how14:05
robinsmidsrod left14:05
coteyr i assume it's soemthing like a long time between start and end of file so that the client or server is seeing a wait too long between some response header. and that is causing this error, however I do not know how to prove or fix that.14:07
ProperNoun joined14:07
Ilari coteyr: There is heavy data transfer going on during that pass.14:07
PerlJam left14:08
PerlJam joined14:08
Ilari coteyr: Unless you have fast connection or slow machine, heavy enough to saturate bandwidth.14:09
coteyr llari, yes i agree that there should be some kind of heavy data transfer14:09
and I am seeing that14:09
network usage rises like it should14:10
Ilari coteyr: Also, approximately how much time passes from those transferred numbers stopping increasing to when it times out?14:10
coteyr none14:10
i get to 26% (or there about) then instant drpo14:10
a "real" time out would have lag14:10
Ilari coteyr: That's very weird. Even one sided heavy transfer should prevent timing out (TCP ACKs!)14:11
coteyr does git-clone command have a dubug or verbose switch that I am not seeing in the man page?14:11
Ilari coteyr: $GIT_SSH sets what git uses as SSH.14:12
coteyr: Probably doesn't like arguments (but one can make script for that).14:12
werdnativ left14:12
coteyr k let me whip something up real fast for verbose ssh tunneling14:13
jrmuizel joined14:13
Ilari coteyr: Just make sure it doesn't output anything to stdout or its going to screw things.14:14
kpreid_ left14:15
kpreid_ joined14:15
reprore joined14:16
PN left14:17
maravillas joined14:17
bibinou left14:19
sagsousuke joined14:19
gazra left14:19
emil joined14:19
bibinou joined14:19
jkacur_ joined14:19
jkacur_ is there a git-command that will tell me which branch a git tag comes from?14:20
emil im looking for a version control system like git or svn that is suited for php-development. anyone got any ideas or experience to share? want to be able to sync files to the server fast and easy14:20
coteyr git works well with php14:20
and aside for this problem I'm having, should sync your files to a staging/dev server quite well14:21
minaguib left14:21
coteyr with a manual push to production (or automatic if you like living dangeriously)14:21
arekm joined14:22
coteyr either set the prod/dev server to pull on intervals or use a post-commit hook14:22
emil coteyr, okay. it is possible to "push" files to the server with git or does i have to login to the server and "get" the files from there?14:22
Ilari emil: Note that working copy WILL NOT update on push (unless hook does it).14:22
post-receive or post-update rather.14:22
arekm I had git repo which now seems somehow corrupted. git log shows nothing. How can I fix it?14:22
coteyr emil, you can set up a repo on the server and the server can pull14:22
emil okay. this mean that git can pretty much work like svn if you want to but faster and better? ;)14:23
Ilari emil: There's command to push commits.14:23
emil how does the files get transfered over the network. is there a network server built into git?14:23
Ilari arekm: 'git fsck --full' throws anything (except "dangling" messages)?14:23
emil: SSH. And it is not files, its commits!14:23
ToxicFrog left14:23
psycovic left14:23
arekm Ilari: git fsck --full did nothing. no output and still git thinks that repo is empty14:24
ctusar joined14:24
Ilari arekm: Also, 'git rev-list --all' is empty?14:24
coteyr emil; any transfer protocall will work but ssh is the most common.14:24
emil; i've seen everything from ssh to emailing changes14:25
arekm Ilari: yes, empty14:25
emil coteyr, okay. i think i have to experiment a bit with git :)14:25
jkacur_ yeah - emil, do some toy projects to learn about it.14:25
emil but it is possible to get the changes from the server to fix merge conflicts and the commit. sounds great :)14:26
coteyr emil, its a good scm, and very configurable. all kinds of options for publishing to/from a git repo, big thing to remember if your moving from svn is that there is no git server lol14:26
jkacur_ left14:26
arekm Ilari: lol! -rwxr-xr-x 98 root root 0 10-28 16:12 /usr/bin/git14:27
blueHandTalking joined14:27
arekm Ilari: that explains everything :>14:27
Ilari arekm: How it even ran without error message?14:27
coteyr llari; well snot balls; turned off keepalives of everykind i could find in ssh and I still get connection timed out14:27
ssh doesn't even fail when connecting to a host that doesn't exist any more14:28
Thell|AwayThell14:28
arekm Ilari: no idea but well, it did14:28
Ilari arekm: Ah, shell.14:28
freerobby joined14:30
GarethAdams|Work left14:31
futoase joined14:31
Grahack joined14:33
tlb joined14:34
gitte joined14:35
jrmuizel left14:37
Tommy[D]_ joined14:39
altrux joined14:40
arekm left14:42
meanburrito920_ left14:42
spearce joined14:43
coteyr llari; now thats intresting, I did git clone git://git.kernel.org/pub/scm/git/git.git whish is also a big repo and it worked fine14:43
freerobby left14:43
bigmack83_ left14:44
bigmack83 left14:44
coteyr llari; back to thinking this is a github issue of some kind, or at least a config broblem between github and my self.14:44
madewokherd left14:45
Ilari coteyr: Git handles git:// internally (including doing the socket connections).14:47
schmukkk joined14:47
coteyr llarri; good point14:47
i need a private non-git repo to test on lol14:48
TeckniX joined14:48
coteyr non-github14:48
dunolie left14:48
Sjors joined14:49
Sjors Hi14:49
navvywavvy joined14:49
Sjors I'm working on a project with a friend of mine, we both have a clone of a central repository14:51
maravillas left14:51
Ilari adds new entry to typo list.14:51
coteyr llari; ok, used a gigantic ass repo on my private server and it still worked fine14:51
Sjors now I made some changes, and I wanted to push some changes to him so he can check them out, without pushing them to the central repository14:51
coteyr git clone [email@hidden.address]14:52
that is ssh protocal14:52
and a older verson of the same repo (with HUGE files wrongly commited)14:52
Ilari coteyr: What's the connection to private server? LAN or jumps through Internet?14:52
coteyr over 600 megs14:52
Sjors now the commits seem to be pushed, on his machine, but they don't seem to be used yet14:52
coteyr llari; privet server is at slice host (over internet)14:52
a-atwood left14:53
Sjors maye the commits are there, but he doesn't see them14:53
a-atwood joined14:53
Sjors how do I update to the tip I just pushed to him?14:53
Ilari Sjors: You pushed it *where*?14:53
Sjors Ilari: I pushed them to his checkout, via the network14:54
girishr joined14:54
Ilari Sjors: $faq non-bare14:54
Gitbot Sjors: Pushing to non-bare repositories is discouraged. See http://git.or.cz/gitwiki/GitFaq#non-bare14:54
Ilari Sjors: And if permissons were sane, you shouldn't even be permitted to do direct to other's working repo push.14:55
yaotti left14:55
Mezner joined14:55
jmspeex joined14:56
Lisimba left14:56
drubies joined14:56
Darkas joined14:58
Axius left14:59
uau left15:01
rchavik left15:01
ciskje joined15:02
JoeConyers joined15:02
dunolie joined15:02
ankit9_ joined15:03
Grahack left15:04
uau joined15:04
ankit9_ left15:05
a-atwood left15:06
a-atwood joined15:06
cannonball joined15:08
evl left15:10
yaotti joined15:12
jakob left15:13
jakob joined15:13
riz2 joined15:14
yaotti left15:16
bdimcheff joined15:16
j416 left15:16
selckin left15:17
nsussman joined15:18
yaotti joined15:20
jrmuizel joined15:22
jakob left15:22
methanol left15:25
loincloth joined15:25
jakob joined15:26
coteyr ok heres a eaiser question15:27
brendon_work left15:28
coteyr I have 1 website (a) and I need to make another website (b), web site b is a copy of website a but with a few changes. I don't think that website a and b will ever completly merge back to gether., but certian files will merge and I want them to stay in sync15:28
so should I fork or branch15:29
neither is a 100% perfect fit15:29
madewokherd joined15:29
doener ehrm, what's the difference between branching and forking?15:31
and I'd just keep a "main" branch that gets common changes, and one branch for each website15:31
suman joined15:31
doener common changes go to the main branch, which gets merge to the per-site branches15:31
jstephenson joined15:34
psynaptic joined15:34
Mezner01 joined15:35
Mezner left15:36
Mezner01Mezner15:36
Turias joined15:39
tedoc2000 joined15:42
cjs I'm up for comments on this draft blog posting on svn-git conversion, if anybody has any: http://www.starling-software.com/en/blog/drafts/2009/11/10.git-notes-draft.html15:43
froschi joined15:45
pelle_ joined15:45
tedoc2000 left15:46
javatexan joined15:46
coteyr doener; only real diffrence is intention I guess15:46
tedoc2000 joined15:46
tedoc2000 left15:47
tedoc2000 joined15:47
cjs coteyr: is it a problem if the repo that A is using has B's information in it too, even if that never appears on A's website, and vice versa?15:47
abms1116 joined15:48
coteyr cjs; nope not really. But the same page in each repo (say index.html) will be diffrent and you would never want to merge thoes, but a second page (say contact.html) would eb the same and you would want to keep thoes in sync15:49
a bit overly simplified but you get the point15:49
cjs "Not really," or "must not"? My general strategy for those types of things is to have all the information in one project (repo, checkout) and generate web site A or B as appropriate. Assuming that you can give the maintainers of A and B access to both sites (which is safe if they're the same maintainers).15:50
gazra_ left15:51
cjs If you can't, the "svn externals" thing can work well, though whether you want to do it the svn way (you just get updates in the common code whenever they appear) or the git way (you have to explicitly move your extern tag to grab new commits) also depends on how you want to run your projects.15:52
yaotti left15:52
leanucci_ joined15:53
psankar left15:53
cjs There is some program out there that will basically let you have heads of a bunch of branches from different repos, and even different VCSs, kept up to date in one checkout. I forget what it's called.15:53
patrikf joined15:53
sverrej left15:54
kpreid_ left15:54
balint joined15:55
cjs Anyway, thinking about it, if a branch is acceptable, you're fine with having the A maintainers have access to the B code and vice versa, so I'd just keep one branch for both, and generate the docroot for website A or B with a Makefile or script from a master copy that has information for both.15:55
DavidKlein joined15:58
hummingkid joined15:58
paltman joined15:58
kpreid_ joined16:00
r11t joined16:00
dirk2 joined16:01
leanucc__ joined16:01
abms1116 left16:01
leanucci left16:02
DavidKlein left16:05
DavidKlein joined16:05
pelle_ left16:06
leanucci_ left16:07
Grahack joined16:08
rfay_afkrfay16:08
leanucc__leanucci16:11
brendon_work joined16:12
hobodave joined16:14
State joined16:15
patmaddox joined16:16
patcito joined16:16
juan_arandaalvar joined16:17
coteyr thanks cjs; thats basically what I was thinking of my self.16:18
coteyr left16:18
State Hello - I'm fairly new to git, so I'm sorry if this is an obvious question. I created a bare archive and put it up using scm16:19
Now I'd like to check out a copy on the server (this is a web project) - but using git pull on the server tells me it's not a git archive16:19
There doesn't appear to be a .git folder in the uploaded archive16:20
Should there be? I thought I had followed this same process on another server16:20
Sephi-Chan joined16:21
Sephi-Chan Hi16:21
tamm0r State: archive like zip or rar?16:21
cjs coteyr: NP. So long as you can handle having to do a bit of programming to make it happen (which can be as simple as just copying the shared files to the new docroot, and then copying A's or B's "override" files over them), that solution works very well.16:21
State tamm0r: Just a folder named .git16:21
charon State: uh... what's a "bare archive" and how did you create it? git-archive creates snapshots of certain trees that do not contain any history. also, git-pull is not what you need to either make a clone or a checkout.16:21
Sephi-Chan When i pull, i have a message : app/controllers/application_controller.rb: needs update16:21
paltman left16:21
Sephi-Chan It's in my remote repository16:21
State charon: bare repository, sorry16:21
charon: I used git init --bare locally16:21
cjs State: A bare repo doesn't have a .git folder, it just is the contents of a .git folder.16:21
State cjs: Ok. That helps16:22
Sephi-Chan How can i solve it ? Maybe it's a conflict ,16:22
State cjs: So, shouldn't I be able to check out from that oflder?16:22
cjs: *folder16:22
charon State: usually you'd make a clone with 'git clone $url'. checkout is something else in git16:23
cjs In fact, in the draft posting I just linked to above (http://www.starling-software.com/en/blog/drafts/2009/11/10.git-notes-draft.html), I talk about how to convert between bare repos and working-copy repos, specifically because git svn dcommit won't work on a bare repo.16:23
State charon: Sorry - right. I'm just using pull. Isn't that right?16:23
cjs State: You should be able to clone the bare repo and create your own repo that has a working copy.16:23
State charon: Or do you start with a clone - and then pull16:23
Sephi-Chan What can i do when i have a message like <file> need update ?16:24
(to update it)16:24
bigmack83 joined16:24
charon State: neither is correct. pull is fetch+merge, so you should only run it if you actually want to *merge*. otherwise, it's git-fetch to update the remote-tracking information if you already have a copy of the repository, or git-clone to make a new copy.16:24
cjs Sephi-Chan: you need to pull from the remote. And you can do that only if you have no uncommitted changes. Maybe you want to stash, pull, and then unstash?16:24
johan-s left16:25
State charon: Thanks. That helps16:25
Sephi-Chan hmm16:25
Lisimba joined16:25
wolog left16:25
cjs State: if it helps, think of it this way: every working copy must have a repo behind it, but you can have repos without working copies. Those are useful only for making another copy of that repo (with or without working copy).16:26
charon Sephi-Chan: "needs update" means you have uncommitted changes. note that git-pull is a *bad* substitute for "svn update", so if that's what you're trying to do, you should probably change your workflow16:26
cjs Sephi-Chan: are you perhaps an SVN/CVS user just getting started with Git?16:26
Haarg joined16:27
aatanasov left16:27
Sephi-Chan Exactly16:27
State cjs: Thanks. that does help. I came from SVN - maybe that's obvious.16:27
Sephi-Chan i sued SVN16:27
State thanks!16:27
kukks joined16:27
Sephi-Chan used*16:27
State left16:27
cjs Sephi-Chan: Ah, ok. I understand exactly your problem now.16:27
Sephi-Chan In fact, i change a few file on one of the clone of my repo16:27
cjs Now I just have to figure out how to explain it to you. :-)16:27
murr4y yes, switching from svn to git makes you want to sue svn, doesn't it16:27
charon murr4y: or the writers of guides who think "svn update" maps to "git pull", for that matter16:28
murr4y x)16:28
Sephi-Chan So, now i suppose i have a conflict, because it can't merge my local modifications to this remote copy16:28
cjs Sephi-Chan: Ok, so the basic difference is this: with SVN, your checkout, if it's changed, is essentially a separate branch that's not committed to the repo. So when you do an svn update, you're asking to merge any changes in the repo branch into your "checkout branch".16:29
Sho_ left16:30
cjs Git isn't capable of that, so you have to check everything in to your local repository and have a clean working-copy in order to merge changes from another repository.16:30
cxvii joined16:30
Sephi-Chan what you call checkout branch is the "main" one ?16:30
cjs No. Main is, for example, "revision 2345" which is the latest revision in the repo. When you change a file, you have (which you'll see if you run "svnversion" in your checkout), version 2345M.16:31
Sephi-Chan hm16:32
cjs Think of that as a very lightweight, short-lived branch. Just before you check in, you do an svn update, merge your "branch" with what's been recently committed, and then commit the results of your merge.16:32
Sephi-Chan ok16:32
cjs (And you thought branches in Git were easy? In SVN you branch automatically as soon as you edit a file. Ha! :-))16:32
giallu left16:32
qhoxie left16:33
cjs Right, so, as I said, in Git you can't treat your working copy as a branch into which you can merge, as you do with svn.16:33
offby1 cjs: pity Subversion doesn't allow merging16:33
Sephi-Chan so, to solve my problem and update my file (i modified them on a copy but i didn't report these changes on others copies, it's bad :x)16:33
how can i do ?16:34
cjs So the workflow changes to, "commit, pull and merge from other repo, checkout new merged version."16:34
Fortunately, there's a trick here. Do you know about "svn stash"?16:34
Sephi-Chan ??16:34
i don't use SVN16:34
cjs offby1: That's rubbish, but I won't get into that now.16:34
Sephi-Chan i just used in the past, with another project16:34
cjs Sephi-Chan: Oh, what do you normally use? I guess I'm asking, what's your model of how version control works? Are you most familiar with svn workflow?16:35
WebDragon joined16:35
Sephi-Chan my problem is git only, i don't have the basics with git16:35
So each time i have a little problem, i'm lost)16:35
cjs Sephi-Chan: Right. I certainly know the feeling. :-) So I'm trying to find a conceptual hook to hang these ideas on, as it were, based on what you do feel you know.16:36
Sephi-Chan hm, si you can consider i don't know nothing :p16:37
When i used a VCS, it was just basic commit/update16:37
So i have no skill in "crisis management"16:37
cjs Oh, in that case, I'll just give you a formula, and hope that it works. So, you have some changes, and you want to bring in other changes people have made recently without sending back yours, right?16:38
(This is nowhere near crisis, by the way; what you're experiencing is, for svn users, anyway, a very typical slight difference in concepts that can be overcome simply by thinking about svn in a different way.)16:39
Sephi-Chan Yep16:39
sh1mmer left16:39
Sephi-Chan So in my remote copy (the production one), i cannot merge correctly16:39
cjs Right. So to merge, you have to commit all of your changes. But, because we're using git, "commit" is a local thing, that doesn't mean you send them anywhere else.16:39
Sephi-Chan my idea is to remove the outdated file and merge again16:40
cjs To be pedantic, you don't merge in your remote copy.16:40
mbroeker joined16:40
cjs Yes, exactly.16:40
Sephi-Chan with SVN, i delete the file then fire an update but with git ? :x16:40
Haaarg joined16:40
cjs So, do this: "svn stash" to "commit" your local changes to your local repository. Nobody else will ever see that commit; it's just a temporary storage kind of thing.16:41
Oops, I mean "git stash", of course. :-)16:41
Theravadan joined16:41
smuf joined16:41
cubuanic joined16:41
balint left16:42
cjs Now you have a clean working copy, with your changes gone away in a special branch. You can do a "git pull", and get all of the new stuff from others in your working copy.16:42
openbysource joined16:43
blueHandTalking left16:43
drewolson joined16:43
Sephi-Chan hmm16:44
cjs So now you're at, essentially, HEAD of the remote repo, and you do a "git unstash". This grabs your changes, applies them to this HEAD, and your working copy now has conflicts (or not) and you merge.16:44
mbroeker Sephi-Chan, you can restore any versioned file with git checkout path/to/file.ext16:44
cjs (Git folks, correct me if this workflow isn't reasonable.)16:44
gitte left16:44
Sephi-Chan the stash16:44
charon cjs: reasonable or not, your use of HEAD is so svn-ish that i fear it will only further confuse him16:44
Sephi-Chan In fact, i already push my local changes to the server16:45
LiamH joined16:45
cjs Now you have gone from PREV+your-changes to HEAD+your-changes, just as if you'd done by doing an "svn update" into a modified working copy.16:45
tedoc2000 left16:45
cjs charon: Well, I'm sort of assuming he's familiar with svn workflow here....16:45
Haarg left16:45
kiuma joined16:45
kiuma hello!16:46
Sephi-Chan Yep but i want to forget it ^^'16:46
cjs Sephi-Chan: Are you sure you successfully pushed?16:46
Sephi-Chan Yep16:46
tamm0r left16:46
Sephi-Chan It's the pull which is fucked16:46
cjs Sephi-Chan: do you have changes in your working copy?16:46
Sephi-Chan Yep16:46
cjs I.e., does "git status" show you anything, or say you have no changes?16:46
Sephi-Chan Because i changed config/database.yml: needs update16:47
cjs Sephi-Chan: then you have not pushed those changes, and you have what is essentially a branch: something you have that others don't.16:47
Sephi-Chan I have 2 modified files16:47
kiuma sig! from my laptop I committed the I did `git push` -> Everything up-to-date16:47
charon cries quietly16:47
Sephi-Chan Yep, it's the problem ^^16:47
kiuma then from another pc I call `git pull` but hte modification isn't get !16:48
kiuma cries quietly16:48
Yuuhi joined16:48
cjs Right, but it's not a real problem. Any changes that others don't have are a "branch" of some sort; it doesn't matter if you're using svn or git.16:48
Sephi-Chan Ok16:48
paltman joined16:49
Sephi-Chan So, i should discard these changes16:49
icwiener left16:49
cjs Or keep them with "git stash." Either way.16:49
kiuma what about my problem ?16:49
charon Sephi-Chan: as long as your files "need update", they have uncommitted changes. you cannot push anything that wasn't committed. try to get rid of the "lets keep uncommitted changes around" attitude that people carry over from svn. instead, make branches for your changes and commit them early. you can always use git's tools to clean up these side histories if needed.16:49
ntoll left16:49
matthewford left16:50
Sephi-Chan Ok, but i donc want to keep these changes on my 2 files16:50
It was temporary16:50
cjs Sephi-Chan: Oh, in that case, just reset.16:50
mastro left16:50
matthewford joined16:50
charon kiuma: any number of possible problems. probably, you wanted to push a new branch (git-push only pushes branches that exists on both ends by default) or your configuration for git-pull does not specify the right upstream branch.16:51
tedoc2000 joined16:51
cjs The only key point to remember is that, unlike svn, in git you can never merge if you have changes in your working copy.16:51
Sephi-Chan hm16:51
charon cjs: for the record, i don't like your overloading of the "branch" term above, but i have to run so i can't fight it ;)16:51
cjs charon: Well, I'd be happy to discuss that next time. A better term would suit me well, too.16:52
Sephi-Chan and, for curiosity, how can i restore a file ?16:52
to the last commited version16:52
(i didn't commit the file yet)16:52
cjs Sephi-Chan: the last committed version where? In your local repo, or the repo you're pulling from?16:52
charon Sephi-Chan: if "last" means "the currently checked out commit": git checkout HEAD -- filename16:53
hyperair left16:53
kiuma charon, `git pull origin master` does the same (ie no update)16:53
cjs kiuma: No, no, no....16:53
bigmack83 left16:53
kiuma cjs, so what? please help me16:53
Sephi-Chan the repo i pull from is clean16:54
cjs If you're thinking of something similar to "svn revert -R .", that would be "git reset --hard". In most cases.16:54
ppawel left16:54
Sephi-Chan but i want to restore my production repo to the same state as the bare repo16:54
nkuttler left16:55
cjs Sephi-Chan: ok, you need to take two steps there, since you have potentially three versions of things. Those three are what I'll call the "master repo" (the bare repo you're pulling from), the version committed to the current branch in your repo, and the working copy version.16:55
Sephi-Chan hm16:56
jlilly joined16:56
kiuma charon, I created the git repo on my server with `git init --bare` then I cloned onto my laptop and started adding committing and puching16:56
rolfb joined16:56
kiuma *pushing16:56
ToxicFrog joined16:57
dreiss joined16:57
kiuma when I call (git clone the repo) there are no updates16:57
cjs Change the working copy version to match the version committed in your repo with "git reset --hard". Then change the version committed in your repo and the working copy version to match the version in the master repo with "git pull", which is the same as "git fetch" (to change your repo's version) and "git merge" to merge that with your working copy.16:57
kiuma cjs, me ?16:58
openbysource left16:58
patmaddox left16:58
Sephi-Chan cjs Ok it works16:58
cjs kiuma: Sorry, no Sephi-Chan .16:58
But I guess I can look at your problem, too....16:58
Sephi-Chan i reset hard the production repo16:59
then i pull again16:59
zoonfafer left17:00
cjs Sephi-Chan: if by the "production repo" you mean the master repo you're pulling from, you can't reset to that. Keep in mind, with git there's always your local repo between that and your checkout.17:00
Sephi-Chan Nop17:00
The production repo is one of the clone of my bare repo17:00
gzy joined17:00
Sephi-Chan It's on my production server (the website is online)17:00
sandberg_ joined17:00
matthewford left17:00
cjs A third repo? Ok. It's a sensible setup.17:00
Sephi-Chan Hmm17:00
I have a development repo, a production one17:01
and then THE bare repo17:01
matthewford joined17:01
zoniq left17:01
adamtanner joined17:02
wolog joined17:02
PupenoG left17:02
cjs Right. I call that bare repo the "master", and the path changes take is, change working copy, commit to local repo, push to master, and then production pulls the change from master, meaning that production repo gets the change and then production working copy gets the change.17:02
Sephi-Chan Hmm17:03
I think my terminology is wrong17:03
i have two "working copies" : development and production17:03
dwtwjw joined17:03
jceb joined17:03
Sephi-Chan and a bare repo17:03
That is more correct ?17:03
sandberg_ hello, I just got a "error: Packfile index for .git/objects/pack/pack-0da06affbc72ca1bd6b32d0de65b338bd004890a.pack SHA1 mismatch" from git gc17:04
cjs Right. And three repos, the one with your development working copy, the bare repo, and the one with your production working copy.17:04
futoase left17:04
mattions joined17:04
sandberg_ s/gc/fsck/ of course.17:05
cjs Sephi-Chan: perhaps the important point you're missing is that each of those working copies has a separate repo associated with it as well.17:06
Sephi-Chan no i'm ok with that17:06
sh1mmer joined17:07
Sephi-Chan i think my problem is more about the way to play with the version (such irony, it's the point of VCS xD)17:07
ankit9 left17:07
kpreid_ left17:07
sandberg_ what's the easiest way to recover my repo? I can probably find most of the broken objects in other repositories.17:08
RobertMeta__ left17:08
cjs Right, so if your repos are D, B and P, and we append a W to talk about a change to a working copy, the change goes DW -> D -> B -> P -> PW, via commit -> push -> fetch -> merge, where each of those matches up with an arrow in the previous repo sequence, and the fetch -> merge bit is usually abbreviated as "pull".17:08
javatexan left17:08
aresnick left17:09
cxvii left17:09
adamtannercxvii17:09
LiamH I would like to convert a repository from subversion while deleting (or substituting) some strings that are in a lot of the files. Is this possible with git filter-branch or something else?17:10
cjs Sephi-Chan: So what do you mean by, "play with the version"?17:10
malumalu joined17:11
ikrabbe left17:11
cjs LiamH: is there some reason you can't just convert and then commit a change to do the deletions/substitutions?17:11
Sephi-Chan restore a file, use branches, etc.17:11
LiamH cjs: I want to remove the string from the history as well.17:11
Sephi-Chan And a important one : i never remember how to show the changes i will pull17:12
cxvii left17:12
cjs Sephi-Chan: I don't think you can show the changes you'll pull. You're still thinking in svn-mode.17:12
Griffon26 LiamH: you could import, then revert fixes, then rebase interactively to reorder and squash17:12
tvw left17:12
LiamH Griffon26: I don't follow. Revert fixes?17:13
kristian42 zenior4217:13
Sephi-Chan Why ? It just means : "show me the diff between the local copy and the master repo "17:14
cjs Sephi-Chan: But which local copy?17:14
Griffon26 LiamH: what I'm basically saying is that you can import stuff from svn as is, then do the deletions/substitutions in git and then edit history any way you like. But I must say that only works well if you know what commit those strings were introduced in17:14
cjs Sephi-Chan: you have two local copies: the "HEAD" in your repo, and your working copy.17:15
Sephi-Chan production one17:15
robinsmidsrod joined17:15
Sephi-Chan I think it's possible to show what i will pull17:15
LiamH Griffon26: Oh I see. I think it probably isn't that hard to find the commit they were introduced.17:15
cjs Sephi-Chan: production is yet another two copies, being another repo and another working copy.17:15
Sephi-Chan It's the goal of a VCS17:15
Griffon26 LiamH: because what I was suggesting was to add sort of an undo commit, then use rebase interactively to put this undo commit right after the commit that introduced the string and then squash those two commits together to effectively remove the introduction of that string altogether17:15
fualo_ joined17:16
cjs Sephi-Chan: As far as I can tell, that's not really how git works. Git does comparisons within a repo, and when you're about to pull, the stuff you're going to pull isn't in your repo, so git can't see it to compare it.17:16
LiamH Griffon26: I see. I think that is a good idea; I will try that.17:16
Sephi-Chan yep17:17
s0ber joined17:17
Sephi-Chan but i can separate what the pull do in two operations, no ?17:17
In my production repo, i can get the modified files without merging them17:18
cjs Sure, you can fetch first. But as soon as you fetch, those changes are in your local repo.17:18
In your production repo, of course, because you never have any modifications to merge.17:19
Sephi-Chan but they are not applied, i can say : "no, finally, i don't want to use it"17:19
or say "ok, it's okay. go go merge"17:19
cjs Not applied to what? Either those commits in the remote repo have been brought into your repo or they haven't.17:19
Sephi-Chan hmm17:20
i'm in my production repo17:20
cjs No, you're thinking of the svn style of merging remote changes into your working copy again. But in git, you commit your working copy changes to a different branch (a very short and temporary one, if it's a stash), go back to what you last pulled, update that, and then merge in your changes from your temporary branch.17:21
Sephi-Chan if i fetch the files17:21
sde_antrix1 left17:21
psoo left17:21
omerj_ joined17:22
Sephi-Chan it create a local branch ?17:22
cjs Ah, yes, you can fetch. And then you can think of your prod repo as being at vN+1, and your working copy as being a checkout at vN, and diff vN+1 and vN in the repo. But at that point, you've fetched the changes, and if you reset, you'll find your working copy has them now too.17:22
Sephi-Chan hmm17:22
yes17:22
trochala` joined17:23
cjs So you kinda want a way to say, "keep my working copy at this commit, even though I have further commits on the same branch in my repo".17:24
Sephi-Chan hm17:24
cjs Which doesn't really make sense, because the whole point of a "branch" is what commit changes to your working copy will be the child of.17:24
Sephi-Chan i'll read a french book to better understand git ^^17:24
kold joined17:25
kold is there a way to undo a 'git am --abort'?17:25
cjs So really, you want to branch first, then pull master, and then compare your branch and master.17:25
hgimenez left17:26
icwiener joined17:26
marc_m left17:26
Griffon26 cjs: and why can't he just use the remote to diff against?17:26
futoase joined17:26
cjs Sephi-Chan: that's not going to help: French is even more confusing than git is.17:27
Sephi-Chan But it's my native language xD17:27
cjs Griffon26: Can you diff commits from two different repos in git?17:27
Sephi-Chan: That just makes it worse yet. :-)17:27
Griffon26 the remote has a state in your local repo. It's updated by a fetch.17:27
dreiss left17:28
cjs Griffon26: but at that point you're not diffing the remote. You're diffing two things in your local repo.17:28
Griffon26 it's still a remote. It's not a local branch.17:28
nkuttler joined17:28
kold here's what happened. I created a new branch and applied a patch file (from format-patch) via 'git am'. I remember that the git am was halted in the middle and I'd thought I resolved it, but I guess not now. Anyway, I did development and made commits (evidentally while still in the middle of the git am)...I just tried to do a git rebase to bring in other changes to this branch and it warned me that I was in the middle of a git am....so I di17:28
am --abort' and it deleted those commits I had....is there anyway to "undo" that git am --abort?17:28
Griffon26 it's shown in git branch -r, not in git branch17:28
cjs Griffon26: Hmm. Ok. I think I get it.17:29
Tommy[D]_ left17:29
rolfb left17:29
cannonball left17:29
agrippa left17:29
samjam left17:29
capnkernul left17:29
charlls left17:29
Mizar-jp left17:29
agib left17:29
s0ber_ left17:29
cjs Right, so remote/foo has a new commit on the end, but master doesn't, until you do the merge. Therefore, your working copy following master won't see the changes on remote/foo.17:29
kpreid_ joined17:29
Griffon26 I didn't get what you're saying in that last part17:30
tom34567 joined17:30
Griffon26 oh, you mean that change won't be visible in your working copy?17:30
cjs Sephi-Chan: If I'm right now, you can ignore a lot of what I just said. Sort of. It was too simple.17:31
tom34567 left17:31
rolfb joined17:31
cannonball joined17:31
agib joined17:31
capnkernul joined17:31
agrippa joined17:31
Mizar-jp joined17:31
charlls joined17:31
samjam joined17:31
cjs Griffon26: Yes. Or, in reference to my "diagrams" above (where we had a dev clone, a bare "master repo", and a production clone):17:31
Sephi-Chan xD17:31
Griffon26 cjs: yes, it won't be visible in your working copy. And you can (after the fetch to get it into remote/master) diff your local master against it.17:32
dfr|work joined17:32
patmaddox joined17:32
Sephi-Chan So, finally, we can see what we will pull17:32
Griffon26 yes17:33
well, what you'll merge17:33
pull might get even newer stuff that was committed since the fetch17:33
Vitaly joined17:33
Vitaly how do i "conclude" the merge?17:33
Sephi-Chan i read somewhere that "git pull" wasn't very good way to do things17:33
cjs As the developer, I change my working copy, Dw. I commit, this goes on to the master branch Dm. I push, which does something I"m not clear on, but Bm (base master) gets the commit from Dm, gah, hang on, I need to hpaste this.....17:34
Griffon26 will the paste include the diagram you mentioned? I don't feel like searching for it up there =)17:35
johnnyg joined17:37
johnnyg left17:38
shruggar left17:38
cjs Yeah, kinda. So it's something like this? http://hpaste.org/fastcgi/hpaste.fcgi/view?id=12014#a1201417:39
agrippa left17:39
rolfb left17:39
samjam left17:39
capnkernul left17:39
charlls left17:39
agib left17:39
Mizar-jp left17:39
cannonball left17:39
r11t left17:39
cjs I'm not clear on, when I push, how not only Bm but also Dr gets updated to match Dm. I guess it's kinda two operations in one?17:40
Griffon26 pug_wth is Bm, Dr and Dm?17:40
oops, had some stray text in the buffer17:40
aresnick joined17:41
cjs Sephi-Chan: Re: "So, finally, we can see what we will pull," you've pulled it, I was trying to say what Griffon26 said, you're seeing what you will merge. But I think that's what you wanted.17:41
bcardarella joined17:42
Griffon26 cjs: he must not have pulled it, only fetched it17:42
cjs Bm = Bare repo master branch; Dr = Development repo remote branch tracking Bm, Dm = Development repo master branch.17:42
Griffon26: Right, not pulled, fetched.17:42
See how easy git is compared to svn? :-)17:42
Sephi-Chan The ideal is to list the diff without fetching anything :p17:43
binjured_ left17:43
cjs Sephi-Chan: yes, I understand your feeling there. But you can't do it.17:43
Sephi-Chan ^^17:43
Griffon26 cjs: oh that, yes I have a quote on that17:43
kold ok all, I figured it out....did a git reflog to see find the commits and then did a 'git merge SHA1' and all is well17:44
Griffon26 15:00 #git doener : Griffon26: "git push" would update the remote tracking branch to the state you pushed, and then "git fetch" would update it again to the state of the upstream repo17:44
cjs Of course, I'll admit that a decade of CVS in the '90s may have atrophied my brain to the point where I'm a hopeless case at this point....17:44
Griffon26 cjs: that was a comment on an unrelated issue, but he does happen to mention that the remote tracking branch is updated by a push17:44
rolfb joined17:44
kold I do have a question though....now when I do a 'git log -p' I do not see the diff of the code in the merge....is there a way to get this back?17:44
cjs Griffon26: Is it really? I guess it makes quite a lot of sense, but I do wish rather it would mention this in the manpages.17:46
mattayers left17:46
binjured joined17:46
cjs kold: You mean the diffs between the two commits you merged that only exist as one commit now?17:46
kold cjs: correct....will post a pastebin, just a second17:48
dwtwjw left17:48
srcerer joined17:48
tlb left17:49
cjs kold: Umm....the whole point of that, if I'm interpreting this correctly, was that the A->B->C changes got merged to the minimum change to get from A->C, and so of course there are no diffs, because it's now like the middle revision never happened.17:49
kumbayo joined17:49
sh1mmer left17:50
kold cjs: http://gist.github.com/23109217:50
cjs: I didn't want to consolidate them, I needed to restore them. They were accidentally deleted via a 'git am --abort' (didn't realize I was in one)17:51
Aikawa_ joined17:52
capnkernul joined17:52
agrippa joined17:52
agib joined17:52
Mizar-jp joined17:52
cannonball joined17:52
charlls joined17:52
cjs kold: Oh, so all the commits you need are still shown there?17:53
samjam joined17:53
kold cjs: correct, the commits were still around and I was able to see them via 'git reflog'17:53
qhoxie joined17:54
cjs Ok, so you just need to preserve the diffs on that commits, so that you can see the individual changes separately, then, right?17:55
bambule joined17:55
cjs Now does this have anything to do with the (*shudder*) "sync CVS" stuff I see?17:56
agib left17:56
trochala` left17:56
srcerer left17:56
Griffon26 I'm wondering where he merged the stuff from and if he couldn't just reset back three commits and try it again17:56
blueHandTalking joined17:56
kold cjs: No, the CVS stuff is separate......I think I'm just going to do format-patch on each of those SHA1's I need (of the original commits), revert this branch before the merges and loss and then apply the patches17:56
cjs Oh, wait, I just scrolled down a bit. You just need to see the patches?17:57
Err...is running "gitk" an option? :-)17:57
Griffon26 kold: was the repo ever in a state that you wanted it? I mean, if you know the SHA1's, one of them should contain all three patches, right?17:57
cubuanic left17:58
cjs kold: I really have this feeling that your issue here is simply that the diffs are not displayed in that particular output, rather than you can't get them at all. Unless you're also looking to flatten the branching thing a-la rebase...17:58
kold Griffon26: yes, it was.....should I just do a a git reset --hard SHA1 of that "state"?17:58
Griffon26 kold: don't reset yet, just checkout to see what it's like from there17:59
kold cjs: you are correct, I just wondered why the diffs weren't showing up....17:59
cjs: I now see those commits in the branch....below the merges and the diffs are showing up18:00
Griffon26: thanks, will try that...does seem cleaner18:00
Griffon26 cjs: if I'm not mistaken merge commits are usually empty and there should be other commits in between with the actual changes that were merged18:00
bibinou left18:01
kold Griffon26: THANKS! THAT was the TRICK!!! I checked out to another branch from that last "good" state18:01
Griffon26 kold: do know that you're now not on any branch18:02
hyperair joined18:02
cjs Griffon26: That doesn't make a lot of sense to me. If the other commits have the changes necessary to make A and B agree into C, then those are the real merge commits.18:02
kold Griffon26: yes, I am....I did this: git co -b test_8557 7d7b2df18:02
Griffon26 ah, k18:02
kold cjs: thanks to you for you help as well, I think I'm in good shape now18:03
cjs Griffon26: My theory is that, in git, every commit is a branch, albeit most don't have a name.18:03
froschi left18:03
cjs kold: I'm amazed I helped.18:03
kold I'm always amazed at the power of git....even after using it for nearly 2 years18:03
sandberg_ does anyone know the format of the files in .git/objects/? They differ from what git-cat-file gives me from the corresponding SHA1 sums18:03
matthewford left18:04
srcerer joined18:04
cjs sandberg_: In the NN dirs, or the pack dirs? Those two are different formats.18:04
And what argument were you giving to cat-file?18:04
vuf joined18:04
Mikachu for one, the data is usually gzip-compressed18:04
bachya joined18:05
bachya left18:05
petrux left18:06
jlilly_ joined18:07
sandberg_ cjs: in the NN dirs18:07
Aikawa left18:07
drewolson_ joined18:07
notbenh ?window 218:08
psoo joined18:08
Tricon joined18:08
cjs sandberg_: Oh, wait, did you make sure you were prepending the dir name to the filename to get the hash? I miss that one all the time.18:08
krawek joined18:09
lucsky left18:09
sandberg_ cjs: I did (otherwise git wouldn't have found the object, right?)18:10
cjs Ok. Right.18:10
godsflaw joined18:10
sandberg_ cjs: I'm a bit confused also that git cat-file blob0bb42d5f6288dc3b61df53c6b6736de149194a2e |sha1sum doesn't output 0bb42d5f6288dc3b61df53c6b6736de149194a2e18:11
Tricon left18:11
sandberg_ s/blob/blob /18:11
godsflaw sandberg_: turns out the git SHA1 is not just the blob contents.18:11
futoase left18:11
godsflaw sandberg_: you can make it come out to the same thing, but you need to toss a few more lines before the blob content. I, however, do not remember what they are.18:12
cjs There's some sort of header there, too, isn't there?18:12
godsflaw cjs: yeah18:12
Mikachu there is a technical/ dir in the doc dir in the source repo that probably documents all that18:12
if you don't want to read the actual code18:12
godsflaw =)18:13
Griffon26 the sha1 stands for the entire history upto that point as well18:13
Mikachu Griffon26: not on blobs18:13
Griffon26 oh18:13
jof left18:13
ciskje left18:14
Standart joined18:15
WALoeIII joined18:15
cjs I've seen those headers somehow, but God help me if I can remember the command that got them for me.18:16
d2dchat joined18:16
khmarbaise joined18:17
Hendu left18:18
lucsky joined18:19
dreiss joined18:20
lhz joined18:22
drewolson left18:22
drewolson_drewolson18:22
johan-s joined18:22
johan-s left18:22
jlilly left18:22
jlilly_jlilly18:22
johan-s joined18:23
icwiener left18:24
ElementalVoid joined18:24
ElementalVoid anyone willing to help out with a git-svn question?18:25
jof joined18:25
nurey joined18:26
meatballhat joined18:26
JackWinter left18:26
maronnax joined18:27
JackWinter joined18:27
tono left18:27
sh1mmer joined18:27
Tricon joined18:28
cjs I am!18:29
(Having just spent an hour and a half on a fricking blog entry about it.)18:29
maronnax I'm sure this is a stupid question, but how can I set up an encrypted git server, such that syncs to and from that server are encrypted? In the past (subversion) I've done this with https and webdav, but that doesn't seem to be standard in git land. Instead, everyone uses gitosis, but this seems to only support encrypted logins. Is there a good answer as to how to do this? Thxs.18:30
d_sph install openssh.18:30
meatballhat using 1.6.4.4, in a completely empty directory in new-ish repo `git apply <patch-with-nested-dirs-and-binary-diffs>` squelches about some whitespace in xml files, but otherwise does *nothing*. anything I'm obviously doing wrong?18:30
cjs I think openssh is there, already.18:31
maronnax: What's the issue with gitosis? It sounds like exactly what you want.18:31
WebDragon is there a way to ask git which commits have touched a certain file ?18:31
flazz joined18:31
nurey left18:32
Griffon26 WebDragon: git log file?18:32
meatballhat WebDragon: git log <path-to-file> ?18:32
WebDragon oh that simple?18:32
Sigma joined18:32
Griffon26 =)18:32
cjs maronnax: Oh, I see, you want a *git server*, and not the same git protocol over ssh?18:32
ElementalVoid cjs: thanks! I'm going to prefix this with the fact that I'm a relative git newbie. I'm not however a newbie to scms or their concepts...18:32
WebDragon facepalms :)18:32
meatballhat WebDragon: git log is your friend :)18:32
d_sph gitosis itself doesnot do any encryption (as would rsync), ssh is the generally accepted form18:32
WebDragon oh I know that already although I do wish --decorate was the default18:33
Tommy[D]_ joined18:33
bdiego joined18:33
troyt joined18:33
ankit9 joined18:33
cjs d_sph: Gitosis is just a wrapper around git protocol over ssh....18:34
ElementalVoid cjs: so far I've created a new git repo from svn and have succesfully fetched the entire svn repo. all of the usernames were mapped properly, all the brances exist.18:34
yeiugx left18:34
maattd joined18:34
ElementalVoid cjs: however, if i `git clone my_gitsvn_repo` to get a clean git repo without the svn cruft then I lose all the branches.18:34
omerj_ left18:35
maronnax cjs, yes, I am trying to set up a git server that I can use to sync personal information among several computers and laptops. So the master server should support ssh. Which I know can be done, but I seem to be too dense to find the specific tutorial as to how to do this on google. :-)18:35
d_sph maronnax: nothing specific. Just use ssh:// as push/pull url18:35
cjs Hee hee hee. No you don't. You can still get them with "git fetch [email@hidden.address] remotes/branchname:branchname". Only, there's a couple of issues. See that URL I sent you.18:36
maronnax: So this is not a gitosis-type thing (though that can do it, too, if you're interested in sharing with others). You can ssh into that server, right?18:36
mcella_ left18:37
maronnax cjs, yes. It's a home server I have control on.18:37
ElementalVoid cjs: looking at that now. but i think i just figured out where my confusion is... the git-svn repo has all the svn branches but they are remote branches. so when i clone that the new git only repo doesn't see those remotes.18:38
cjs: which is precisely what you cover in "Dealing With Branches"18:38
mcella joined18:38
reprore left18:38
cjs ElementalVoid: Exactly. It took me quite some time with someone who knows get better than I do, and CVS about as well.18:39
hvnqke_work joined18:39
cjs ElementalVoid: The thing where the branch names don't get prefixed by "remote/" was the killer confusing bit.18:39
hvnqke_work I've rolled back a change by doing a checkout of an earlier revision. Is there any way I can get back to the "original" revision again?18:39
mcella left18:40
maronnax cjs, d_sph: if git allows access over ssh (as opposed to ssh tunnelling) then that should be perfect. So great, thanks very much. This will give me something to focus on with google this evening.18:40
ElementalVoid cjs: i'll give something a shot and if it works out maybe i can script it for your blog. (i'll have to do it for me anyway since there's a ton of svn branches to convert.)18:40
ElementalVoid leaving for a bit18:40
cjs maronnax: I'm getting a bit tired at this point (it's almost 4 a.m. here in Japan), but don't you just use "git clone my.server.com:/home/me/repo" and then you're set?18:41
charon cjs: can you link that blog/url for all of us? (either i missed it or you sent it privately)18:41
cjs charon: Sorry: http://www.starling-software.com/en/blog/drafts/2009/11/10.git-notes-draft.html18:41
Comments welcome; it's going from draft into "make me look stupid to the world" mode in about 48 hours.18:42
freerobby joined18:42
charon ElementalVoid, cjs: ah, but why not just: git fetch origin refs/remotes/*:refs/remotes/* to get a straight copy18:42
or, in the original git-svn repo, git fetch . refs/remotes/*:refs/heads/* to copy them over into the local branch namespace18:42
you can also put the first fetchspec as a fetch line into the [remote "origin"] section of .git/config if you want to update more than once18:43
cjs charon: Err, do you want to know the real reason why we didn't do that, or do you just want me to congratulate you on finding a solution that I couldn't? :-)18:43
maronnax cjs: that very well could work. I'll try that as soon as I get the chance. (And what's up with people in Japan anyway? I have never known ANYONE there to go to bed consistently before 3am. :-) )18:43
cjs But I'd have to test that to be convinced it worked; git-svn is a bit weird.18:44
fluxusps left18:44
cjs maronnax: We don't have daylight savings time here. :-)18:44
charon cjs: well, if you must know, the "why not" was admittedly just rhetorics ;)18:44
JasonWoof left18:44
bentob0x out of topic: do you say: if no there IS no 'search' page in ... or if no there ARE no 'search' page in ...18:44
pantsman joined18:45
fjji joined18:45
bentob0x is as it's singular I suppose but it feels strange18:45
DrNick bentob0x: "there is no search page", "there are no search pages"18:45
bentob0x ok cool, thx doc :)18:45
JasonWoof joined18:46
bachya joined18:46
maronnax cjs: apparently not. I had a boss who came over from japan. While he was there, he got up at 2pm and went to bed at 5am, which was perfect, because I'm here in California (PST). He came here so we could work together. I literally never saw him, because he immediately got onto the same schedule over here.18:46
hvnqke_work bentob0x, or you can go with the lazy approach: "search: no such page"18:46
maronnax cjs: He left here and went back, we're working together more than ever. :-)18:46
bugfux joined18:47
bentob0x I was thinking of writing "if there isn't any search page" as an alternative hvnqke_work18:47
^^18:47
thx anyway18:47
Vitaly how do i close merge18:47
hvnqke_work you could also just say "404"18:47
Vitaly i keep getting "You are in the middle of a conflicted merge."18:47
cjs maronnax: Hm. Well, maybe I moved to Japan for just that reason.18:48
bentob0x lol18:48
d0k joined18:48
cjs bentob0x: "If there isn't a search page."18:48
Vitaly and i fixed all the conflicting documents18:48
jspiros left18:48
jspiros joined18:48
bentob0x such a bad english I have18:48
jceb left18:48
Vitaly yoda?18:48
cjs Hey, there's bad English, and then there's Yoda English.... :-)18:49
charon Vitaly: man git-merge, 'how to resolve conflicts', second bullet point... short version: add, commit18:49
Gitbot Vitaly: the git-merge manpage can be found at http://git.or.cz/man/git-merge18:49
Vitaly ok18:49
pti left18:50
bachya Hi all - is it possible to programmatically determine what remote a particular branch uses (as determined in that repo's .git/config file)?18:50
Vitaly nice, it worked18:50
nsussman left18:51
agrippa So, I'm a foolish person and have not been using a bare repo, but I would like to create an a bare repo from an existing non-bare repo. Would "git clone --bare path/to/non-bare/.git new-bare.git" do the trick for me?18:51
zilenCe joined18:51
zilenCe hello guys18:51
I have a git-write-tree error, can someone help?18:51
I really can't find anything on how to "fix" the repo18:52
(it is not my repo, it is a rather big repo but I don't know whats wrong with it)18:52
cjs agrippa: How about, "cd repo; cp -r .git ../bare-repo"?18:52
zilenCe the error is "invalid object 100755..." for someFileName fatal: git-write-tree: error building treest18:52
agrippa cjs: That works?18:52
hvnqke_work left18:53
sgh joined18:53
Standart left18:53
kiuma left18:53
charon agrippa, cjs: if you remember to edit .git/config (or git config core.bare true), yes18:53
cjs agrippa: Oh yeah. I'm serious.18:53
This is how git figures out if you're using a bare repo or have a working copy, actually. "Is the repo dir named '.git'?"18:54
charon agrippa: other choices include 'clone --mirror' or 'git init --bare' and then pushing to it18:54
cjs charon: Do you really need that? I've used lots of git commands on stuff done both ways without.18:55
agrippa cjs: The new one will have a blah.git type name, but the current one is just '.git'18:55
zilenCe anyone has an idea?18:55
bitprophet left18:56
cjs Actually, come to think of it, I'm not sure I've taken something created bare and done an mv to try to make it a working-copy repo, but definitely moving back and forth between wc and not repo has worked fine for me.18:56
charon cjs: the setup.c code is too confusing for me, but i've seen things break subtly when the config disagreed with the actual state of the repo18:57
altrux left18:57
cjs I'll believe someone who's tried to read setup.c.18:58
bugfux left18:58
charon zilenCe: you could pastebin the exact error message so we can grep for it18:58
bugfux joined18:58
zilenCe error: invalid object 100755 ecab63c568ecc71ee9c7c5822161a1eed94a1f62 for 'annex18:58
/bookmarklet/views.py'18:58
error: Error building trees18:58
oh sorry, didn't pastie, just 3 lines18:58
xvyrpm joined18:58
thiago_home joined18:59
WebDragon|away joined18:59
sandberg_ Mikachu: do you know how to produce a file in .git/objects?19:00
agrippa charon: Basically, my situation is that I have two working copies. The first copy, is my main one, and I have to do 'git push', followed by 'git --reset hard HEAD'. But apparently I should only push to a bare repo. So, I was thinking to just do 'git clone --bare blah/.git blah.git' and then switch the origins.19:00
charon zilenCe: afaict that code path is hit if the corresponding object is corrupt. see if 'git cat-file blob ecab63c568ecc71ee9c7c5822161a1eed94a1f62' errors to test that theory19:01
sandberg_ Mikachu: a file that correctly represents an object, that is.19:01
zilenCe fatal: git cat-file ecab63c568ecc71ee9c7c5822161a1eed94a1f62: bad file19:01
can I somehow recover them?19:01
drizzd_ joined19:02
sanguisdex joined19:02
sandberg_ Mikachu: hm.. what I want is the inverse of cat-file, actually19:02
kold left19:02
sanguisdex how does one downlaod just a tag of a file?19:02
Thumper_ left19:03
Thumper_ joined19:03
sh1mmer left19:03
cenuij left19:03
sandberg_ Mikachu: ah, seems to be hash-object I'm looking for19:03
sh1m joined19:03
charon zilenCe: if your annex/bookmarklet/views.py is intact, you can try 'git hash-object -w < annex/bookmarklet/views.py', though i'm not sure that it overwrites (and not just skips)19:03
bachya left19:04
charon zilenCe: er, sorry, leave out the < so it's an actual filename argument19:04
zilenCe: but even if that fixes the issue, you either have a storage integrity problem or a buggy git. neither prospect is very reassuring19:05
zilenCe hm19:05
I should probably check out the repo again19:05
however I have no idea where that problem came from19:05
lightcap_ joined19:05
cenuij joined19:06
ElementalVoid cjs, charon: thanks so much. `git fetch . refs/remotes/*:refs/heads/*` is precisely what i wanted. i just didn't know it existed.19:06
engla joined19:06
cjs Wow. I'm impressed. I don't know why you're thanking me; I didn't know it existed either. :-)19:06
juan_arandaalva1 joined19:06
ElementalVoid cjs, charon: i need to use the git-svn repo to track the svn repo but eventually svn is going away so i also want to keep a clean git repo but with all the brances/tags so the other suggestion of `git fetch origin refs/remotes/*:refs/remotes/*` does not suit my needs as it make the git only repo dirty19:08
rektide l19:08
jlilly left19:08
WebDragon|away cjs: ROFL19:08
EricInBNE joined19:08
WebDragon left19:09
WebDragon|awayWebDragon19:09
DrAk0 joined19:09
flazz left19:09
sanguisdex left19:09
nurey joined19:09
zilenCe left19:09
WebDragon ElementalVoid: BLOG that somewhere19:09
jlilly joined19:09
WebDragon seriously19:09
ElementalVoid cjs: well, you got the conversation started and others piped in.. so yeah..19:09
WebDragon is sure that information is going to be useful to others19:09
ElementalVoid WebDragon: hah! that assumes that i've personally joined the last 15 years or so and HAVE a blog : )19:10
WebDragon perhaps there's a wiki you could log what you needed and why, and what the bad way vs the good way were, so people can look at it and go AHHHHHHHHHH! I get it!19:11
...somewhere there has to be a place for such useful information to be shared therein19:11
juan_arandaalvar left19:11
squisher joined19:12
squisher Hi, how come when I clone, I don't get all of the branches?19:12
ElementalVoid you mean like him ^^19:12
squisher does it depend on the remote repo?19:13
ElementalVoid squisher: try `git branch -a` see if that's what you're looking for.19:13
ablemike joined19:13
ElementalVoid squisher: i didn't know that existed and was only doing `git branch -r` which is not all the branches.19:14
squisher ElementalVoid, hmm, it does list the remote branch I'm looking for.19:14
do you know how I can clone that branch as well?19:14
RobertMeta joined19:14
ElementalVoid squisher: k, so no you need to setup a local branch to track the remote.19:14
squisher: you have two choices. 1) track all remote brances 2) track only the one you want...19:15
squisher Weird, I'm sure that when I clone other repos, git did all of that for me19:15
ah :)19:15
how can I setup 1)? I seem to be doing 2)19:15
Sephi-Chan left19:16
ElementalVoid squisher: try this -> 11:46 <charon> or, in the original git-svn repo, git fetch . refs/remotes/*:refs/heads/* to copy them over into the local branch namespace19:16
pflanze Is there some program that uses "locate" or so and puts together a graph of all git repositories and their dependencies (remotes) on the system?19:16
WebDragon|away joined19:16
charon ElementalVoid: tbh, after a bit of discussion on the list about pull, fetch, and explicit fetchspecs, i'm not sure how clearly we want to tell people that fetch is a powerful tool that can be abused in various ways19:16
ElementalVoid: for example, i'm fairly sure that squisher doesn't need this sledgehammer type of fix, and it might just confuse him.19:17
drizzd left19:17
squisher charon, :-) Thanks, yeah, I'd rather just set it up to track all remote branches.19:17
can't seem to find the right option in git-config though19:18
kpreid_ left19:18
charon squisher: the point is, *usually* it's enough to create local branches "on demand", since you won't need one for *every* remote (i.e., remote-tracking) branch19:18
(git 1.7 will also have dwimmery to make this easier)19:18
d_sph 1.7.. has a nice ring to it19:19
squisher hmm, ok, so I clone the repo, then what do I do to track the remote branch? Create it and pull?19:19
ElementalVoid charon: i see your point. i think in squiser's case it is a personal preference to see all the brances. am i right squisher?19:19
charon squisher: git checkout -b <localname> <remote>/<branch>, or with newer git: git checkout -t <remote>/<branch>19:19
ElementalVoid in my case it is for conversion purposes that i need a clean repo with all brances for my devs to clone19:19
cjs It will make it into my blog once I've played with it.19:19
charon ElementalVoid: sure, git-svn frequently needs some sledgehammer help, but that's not git's fault ;)19:20
eno__ joined19:20
ElementalVoid agreed.19:20
charon squisher: note that pull=fetch+merge (please memorise this) so recipes along the lines of "create and pull" or "pull to update" may not do what you intend, because they merge19:21
__iron joined19:21
squisher charon, ok, good to know. I did a checkout -b <localname>; git pull <remote>/<branch> which should similar, right?19:21
ah :-)19:21
I guess you answered my question already19:21
charon iff the merge said "fast-forwarded ...", the result will be the same19:21
but otherwise, you just created a new branch from whatever commit you were on, and *merged* remote/branch into it19:21
squisher right, the local repo was clean though19:22
charon btw, i guess you said 'git pull <remote> <branch>' since that does not take a (lone) branch name19:22
squisher right19:22
charon thinks 'pull=fetch+merge' should be in the topic19:22
WebDragon|laptop joined19:23
brockp joined19:24
Tricon left19:24
bnovc if I do a `git pull` and it requires me to merge, which I finish doing, how can I use rebase to squash the merge commit and my pulled commit together?19:24
since `git rebase -i <sha under commit>` will not show the merge commit19:24
squisher charon, ok, so I redid it with checkout -t, since that sets up the tracking for me, which is much nicer19:24
rolfb charon: +119:24
juan_arandaalva1 left19:24
nasso_ joined19:24
squisher thanks everyone for your help19:24
charon then again "see topic" is almost as many letters as "pull=fetch+merge" so it's not much of a saving19:25
bnovc It seems like the only ways to do it are: 1) use `git fetch` instead and fix the commit, 2) git diff <sha under commit> and re-patch it in (a hassle for new files), 3) make a commit on top of the merge commit and then squash them19:25
nasso_ i just removed a file from a git branch. is there a way to get everything back the way it was the last commit?19:25
leanucci left19:25
charon bnovc: why would you want to do that? it just results in an evil merge. you should either do a real rebase, or a real merge.19:25
bnovc charon: what do you mean?19:25
brockp I have a repo I need to split into two new repos, I could just clone the current repo, and and git rm a bunch of files form one, and git rm a bunch from the other, and never bring them together again, is this the best way to do this? I don't see much other way to do it19:26
cedric_ left19:27
brockp I was keeping all my tex files under one repo, and I need to split 'training docs' from 'regular talks' into two repos19:27
charon bnovc: squashing things into a merge results in a merge that introduces unrelated changes. we call these "evil merges" since a merge is a bit of a promise that it brought exactly (and only) the changes from the side branch's commits19:27
ElementalVoid new question: in my git-svn repo, i'm on the master. now, if someone commits code to svn in say branches/4.0.4 (which is NOT master in git) how do i get those changes? git svn rebase is only grabbing changes from the svn/trunk (git master)19:28
charon ElementalVoid: same as with git: you start local branches based on branches/4.0.4, or merge the work done on the branch19:29
icwiener joined19:29
bnovc charon: well, I don't even want a merge commit at all... i have something like A->B->C and a D that's based on A, so I pull D in and I got A->B->C, A->D, C->E(merge), D->E(merge) when I'd really rather have A->B->C->D with no merge19:30
hopefully that makes sense19:30
WebDragon|away left19:31
stuffcorpse joined19:31
WebDragon left19:31
charon bnovc: ah. that's not entirely straightforward to do because it means rewriting D, which is obviously already published on the upstream. are you sure you don't want A-D-B'-C' instead (i.e., rewrite B and C instead, which haven't been published yet)?19:31
eno left19:32
cjs Hey, charon? I just realized what you were talking about. This is copying remote (svn tracking) branches to local (the master git repo) branches, so that others will get remote copies of those local ones, right?19:33
girishr left19:33
charon cjs: indeed19:33
sandberg_ left19:33
charon cjs: there are other ways, for example, you can change the fetchspec-style git-svn configuration to point into the refs/heads/ namespace instead so it puts them there in the first place19:33
rudi_s joined19:34
cjs So should you happen to be in the situation where the svn repo is where everybody's committing, and the git one is an R/O copy, from which people are pulling, unless you're careful to update those branches as well as do "git svn fetch", the git clients won't see the branch updates, right?19:34
ElementalVoid charon: re what you just told cjs. you would do that after a git init but before your first git fetch from svn?19:34
charon ElementalVoid: after 'git init && git svn init <params>' to be precise19:35
cjs Hmm. There are definitely a lot of subtleties here.19:35
ElementalVoid charon: would that then pickup any new branches that are created in the svn repo? or will that need to be done manually?19:36
charon ElementalVoid: git-svn automatically picks them up and puts them wherever it was configured to19:36
cjs I think that charon has precipitated a major update to the blog entry. That being, "Any question about this? Don't ask me. Go to #git and ask charon." :-)19:36
charon the issue is really that the default config puts them in refs/remotes/svn/*, or if you use a one-branch config, refs/remotes/git-svn (iirc)19:37
cjs charon: It will pick up new branches automatically, even? Ok, then that works the way I want it to.19:37
But what about pushing branch changes back? That's still done branch by branch by hand?19:38
charon btw, if you change that config, you may still want to apply the 'git fetch . refs/remotes/*:refs/heads/*' (or whatever you configured) band-aid so git-svn won't have to fetch them again19:38
cjs: push or dcommit?19:38
cjs Sorry, dcommit.19:38
charon that requires a worktree iirc, so yes, branch by branch19:38
cjs Ah, right, fricking dcommit.19:38
charon there's an easy rule btw, regarding git branches built on top of svn branches: the dcommit is always to the path/branch mentioned in the first 'git-svn-id' reachable through first-parent ancestry19:39
nasso_ left19:39
ElementalVoid aha. auto-svn-branch detection requires another run of `git svn fetch`19:39
bnovc charon: D hasn't really been published...its just on a code review server19:39
charon this may sound weird but means that if you merge svn branch A to svn branch B, a dcommit of the merge goes to B (because its first parent is the old-svn-B)19:39
bnovc charon: I want A-B-C-D and then I want to re-upload D with the changes that let it work on C19:39
charon: e.g. A-B-C are already on the server, but I submitted D when B-C wasn't there, so it doesn't apply on C anymore19:40
so it can't be pushed19:40
charon bnovc: if D is really a single commit, you'd just do 'git cherry-pick D' and fix as needed19:40
cjs charon: You mean, merge B into A?19:40
charon bnovc: if there are several, make a temporary branch at D and rebase appropriately19:40
freerobby left19:40
charon cjs: merge A into B (git checkout B; git merge A)19:40
cjs Oh, merging on the git side.19:41
squisher left19:41
cjs Yes, that makes perfect sense, if you sorta think about what's going on underneath.19:41
charon cjs: dcommit will still rebase/rewrite the merge, but it leaves it as a "real" git merge in the local git repo. to svn, it looks like a 'merge --squash'19:41
ElementalVoid charon: to confirm, since i've already sledgehammered the thing (with `git fetch . refs/remotes/*:refs/heads/*`) i can still change the .git/config with the new fetchspec-style. correct?19:41
tk left19:41
charon ElementalVoid: sure19:41
maronnax left19:42
cjs Gosh, this is making Haskell programming look so easy, at this point....19:42
charon git itself is easy, only the UI makes it hard at times ;)19:43
lightcap_ left19:43
smuf left19:43
cjs Must be something to do with starting with "g". "gpg" has exactly the same issue.19:44
ElementalVoid speaking of gpg. i read a mailing list thread about gpg siging of git commits. anyone know where this stands?19:44
*signing19:44
rudi_s_ joined19:45
drewolson left19:45
charon man git-tag, -s option19:45
Gitbot charon: the git-tag manpage can be found at http://git.or.cz/man/git-tag19:45
charon no support for the commits themselves though19:45
tk joined19:45
ElementalVoid k, still not on commits. gotcha.19:45
cjs That's a little annoying.19:45
blueHandTalking left19:45
charon should be easy to script something with e.g. the git-notes topic's support19:46
(so you could stuff a signature on the sha1 in the notes, or similar)19:46
bnovc charon: right, but what if I'm already in the situation (I'm really asking this because people do this *all* day at work and I'm fed up with it)19:46
niki joined19:47
bnovc ChenKaie: I don't understand why you couldn't squash them anyway19:47
er19:47
charon:19:47
it is compounded by the fact that Gerrit provides "git pull" instead of "git fetch" links19:47
charon bnovc: well, iiuc your history after such a botched merge is A-B-C-E on one side and A-D-E on the other, and you now have some fixup F that is needed to make D work, right?19:48
bnovc well, E is the merge that contains the fixups19:48
so I really just want something like `git rebase -i C` to let me squash one of them19:48
dpino left19:49
bnovc but its not that simple19:49
charon rebase -i doesn't handle merges and rebase -i -p is broken in several ways, so that's probably not an option19:49
bnovc yep, I've experienced both19:49
charon i'm just saying, it's not the *right thing* to do. of course you *can* squash a fixup into a merge, but it makes the merge more than what people expect it to be19:50
xvyrpm left19:50
lhz left19:50
hghxhr joined19:50
bnovc I don't want a merge at all. I just want the merge changes to be combined into A and have no branches19:50
just A-B-C-D19:50
charon well then you have to rebase D on C, which means A-B-C-D' in effect19:50
bnovc right, and the rebase causes E(merge commit)19:51
flazz joined19:51
charon huh?19:51
danzat joined19:51
danzat How do I make git not silent when cloning via http?19:51
charon bnovc: you have to rebase before merging, and then that definitely does not create merge commits19:51
Bass10 joined19:51
bnovc I'm on A-B-C, I `git pull D`, it causes A-B-C-E, A-D-E when I want A-B-C-D19:52
the pull rebases D19:52
sverrej joined19:52
charon the pull *merges*, that's why it's a pull (please memorise: pull=fetch+merge)19:52
Pewpewarrows left19:52
Bass10 left19:52
charon (note that there's a --rebase option but it goes the other way around)19:53
Pewpewarrows joined19:53
ElementalVoid man git-fetch19:53
Gitbot ElementalVoid: the git-fetch manpage can be found at http://git.or.cz/man/git-fetch19:53
bnovc I'm aware, and I want to get right of the merge afterward19:53
charon if you're still aiming for A-B-C-D', then you have to discard E (the merge)19:53
bantic joined19:53
bnovc ElementalVoid: I know, but I'm asking how to get out of a situation not how to avoid it in the first place19:53
because people will not stop using 'pull' at work and screwing up their dir19:53
Bass10 joined19:53
ph^_ left19:53
ph^ left19:53
ElementalVoid bnovc: nono. sorry. that was just me wanting the man page : )19:53
d_sph git-pull should be renamed.19:53
charon d_sph: feel free to pipe up on the list; i raised the topic of fetch->pull and pull->? rename a few weeks ago but didn't see much sympathy (though some people were in favour)19:54
bnovc ok. so git is just incapable of recovering from this and its a problem with git, I guess19:54
charon bnovc: e.g., git reset --hard HEAD@{1} # get rid of the merge after pull19:54
bnovc: and then rebuild D' on top of it, either by cherry-pick or rebase19:54
bnovc charon: the merge contains fixes to make D work on C19:54
ph^ joined19:54
ph^_ joined19:55
bnovc so I don't want to delete those19:55
tk left19:55
danzat sorry, stupid question19:55
danzat left19:55
tk joined19:55
d_sph charon: date or subject of it was which? (to help me find the thread)19:55
charon bnovc: oh, so i finally understand the problem here. i'm afraid you'll have to do some dance, such as a temporary re-merge to know what the original state O of E was, then use 'git diff O E | git apply' to get them back19:56
levifig left19:57
charon d_sph: http://article.gmane.org/gmane.comp.version-control.git/13081919:57
levifig joined19:57
bnovc charon: I don't follow19:58
juan_arandaalvar joined19:58
rolfb left19:58
charon bnovc: ok, so assume for a second that all these letters are actual sha1s/tags too (tagging them may help you keep the overview)19:58
bnovc right19:58
charon bnovc: so if you ran 'git checkout C; git merge D' that would recreate E, but obviously it does not have all the fix-ups that were added later19:58
call this O19:58
(the original merge)19:58
now your fix-ups are exactly the difference between O and E19:59
meaning that you can do: git checkout C; git cherry-pick D; git diff O E | git apply19:59
bnovc ugh19:59
why isn't git rebase just capable of squashing merge commits...arg19:59
charon erm... either i'm misunderstanding again, or you're asking for a way to *split* that merge19:59
d_sph bnovc: because that is logically impossible20:00
bnovc d_sph: no it isn't20:00
charon bnovc: btw, you'll also realise that this procedure isn't all too well-defined if E had a merge conflict20:00
caio left20:00
d_sph bnovc: well I am all ears then20:00
charon or, hrmm.20:00
bnovc i need to make like an example tree to show you guys or something20:00
JasonWoof left20:00
charon bnovc: actually, you can just cherry-pick -m 1 E20:00
(that's a much better idea :)20:01
on top of C, of course20:01
bnovc hm, that'd give just A-B-C-D ?20:01
bibinou joined20:01
bnovc with E's changes in D?20:01
d_sph bnovc: if you have digraph{A->C;B->C;C->D;} rebasing A..D onto something is not going to be very nice20:01
charon well, it gives A-B-C-E', where E' is the change that E did compared to its first parent, which happens to be C20:01
rudi_s left20:01
charon D doesn't have a thing to do with it20:01
jacobfogg joined20:02
maattd left20:02
charon more importantly, if your side branch consisted of several commits D1..Dn, then E merges all of them, and the E' arrived at by cherry-pick -m 1 E would squash all of them20:02
bnovc hold on i'm drawing a picture in gimp (/wrists)20:03
jacobfoggjakefogg20:04
jlilly_ joined20:04
jakefoggjacobfogg_20:05
jacobfogg_jacobfogg20:05
dirk2 left20:06
juan_arandaalva1 joined20:06
d_sph graphviz wins20:06
voker57_ joined20:06
d_sph at least for simple ones20:06
bnovc charon, d_sph: http://dev.bnovc.com/tmp/git.png20:06
guess paint.net would'v ebeen easier20:07
dna_dna20:07
Griffon26 left20:08
charon bnovc: ok, so for clarification: you want D plus the "improper" changes/fixups in E as a new commit?20:08
built on top of C20:08
bnovc yes20:08
charon ok, then my cherry-pick suggestion stands20:08
JasonWoof joined20:08
bnovc 10:52 charon | bnovc: actually, you can just cherry-pick -m 1 E20:09
that one?20:09
charon yes20:09
the rationale is that in a "proper" merge (called O above), the difference between C and O is the change that D introduced, and the difference between D and O is the change that B+C introduced20:09
rbanffy joined20:09
charon (that's what a merge is supposed to do: gather all changes)20:09
bnovc so does that cherry-pick mean that it would make a (D+E) commit on C?20:10
charon so if you have some fixup F squashed into the evil merge E, the difference between C (= E^) and E is (patch-wise) D+F20:10
which is exactly what 'git cherry-pick -m 1 E' copies20:11
juan_arandaalvar left20:11
voker57__ joined20:11
charon (that cherry-pick is more or less 'git diff E^ E | git apply; git commit')20:11
rbanffy Hi folks. I am running into problems with git under cygwin. I init a repo, add files and get a "index is unmerged?" error when I try to commit. Anyone knows what am I doing wrong? (besides running under Windows, that is)20:11
bnovc charon: ok I'll try that out, thanks20:11
charon running win...oh.20:11
bnovc I think the same situation comes up when people rebase their branches that aren't ever pulled20:12
voker57 left20:12
bnovc `git checkout foobar && git rebase origin/master`20:12
charon bnovc: that's just a straight rebase; unless origin/master..foobar contains merges, there should not be any surprises20:13
bnovc iirc that rebase will ask you to merge if theres a problem, right?20:13
sandberg_ joined20:13
tvw joined20:13
ctusar left20:13
doener left20:14
jacobfogg hi there, setting up github with YUI... ran into a snag, hoping someone might be able to help...20:14
YUI suggested to put the following in my ~/.getconfig file:20:14
pu = !"git fetch origin -v; git fetch upstream -v; git merge upstream/master"20:14
I then run "git pu" and it returns the following error:20:14
mee joined20:14
charon bnovc: it may ask you to resolve conflicts, but it does not generate merges in the sense of "merge commits"20:14
jacobfogg error: unknown switch ';'20:14
usage: git fetch [options] [<repository> <refspect>...]20:14
....20:14
charon bnovc: (it can be asked to use 3-way merge strategies to attempt the rebase, but that's at the tree level)20:15
jacobfogg any ideas?20:15
fjji left20:15
bnovc ah ok, well sounds good then20:15
charon jacobfogg: !sh -c "<long command>"20:15
jacobfogg so I should use "pu !sh -c "git fetch...." ?20:16
trying now...20:16
Tobin joined20:16
mattions left20:17
niki left20:17
nurey left20:17
ekontsevoy left20:17
jacobfogg Now I type "git pu" and it just returns:20:18
notbenh left20:18
jacobfogg usage: git [--version] .....20:18
rolfb joined20:19
niki joined20:19
WebDragon|laptopWebDragon20:20
jlilly left20:21
jlilly_jlilly20:21
charon jacobfogg: ah, sorry, i'm rather confused now because i can't even reproduce the problem your first example. you'll have to wait for someone who knows all these quoting rules20:21
Mikachu jacobfogg: i think what you had first was good, except you had the ! outside the quotes20:21
niki left20:21
Mikachu you only need the sh -c thing if you want to pass in positional arguments20:22
jacobfogg Thanks anyway charon... I am using WinXP if that makes a difference...20:22
should I try it with the ! inside the quotes?20:22
Mikachu if it isn't too much trouble?20:22
jacobfogg trying now...20:23
psynaptic left20:24
jacobfogg says error: unknown switch ';'20:24
is the ; not a valid command seporator in git on winXP?20:25
d_sph in what?20:25
voker57_ left20:25
jacobfogg In the command that I added to my ~/.gitconfig20:26
jlilly_ joined20:26
jacobfogg pu = !"git fetch origin -v; git fetch upstream -v; git merge upstream/master"20:26
dep241 joined20:26
jacobfogg looks like they are combining three commands into an alias... git fetch origin, git fetch upstream, and git merge upstream/master...20:27
charon jacobfogg: does it work in whatever shell you use if you just paste that whole line into it?20:27
i.e., does your shell accept the ; as it is20:28
jacobfogg trying now...20:28
yes20:28
WebDragon|away joined20:29
charon confusing20:29
davido joined20:29
jacobfogg tell me about it =)20:29
WebDragon left20:30
sgh_ joined20:30
WebDragon|awayWebDragon20:30
hghxhr left20:30
evnnyn joined20:31
bdiego left20:32
johnjay left20:33
johnjay joined20:33
rbanffy Anyone knows what is going on here? http://pastebin.com/d1e5a03f520:34
drizzd_ rbanffy: maybe tell us what it's about if you want us to get interested20:35
rbanffy drizzd_: First time I tried that didn't work ;-) It's an error I am getting under cygwin when I init a repo, add a file and try to commit20:36
charon well, he's missing a blob that he added two seconds before20:36
rbanffy: git --version?20:36
rbanffy charon: I couldn't say that better20:36
charon: git version 1.6.0.420:37
ElementalVoid charon: http://pastie.org/692546 <- how would i change the fetch spec here to acheive what we were talking about earlier?20:37
drizzd_ not that if you are going to run git fsck, run git fsck --full20:38
ElementalVoid charon: i'm unsure of what would need changes since i'm not starting from a standard svn layout.20:38
hydrogen joined20:38
hugoxrosa left20:39
thermal_ joined20:39
charon ElementalVoid: assuming you want the svn branches put in the git local branches namespace, you'd change the branches= line to say: branches = company/portal/candidates/*:refs/heads/*20:39
rbanffy drizzd_: http://pastie.org/69257820:39
drizzd_ rbanffy: do you have anything in .git/objects after the git add?20:39
rbanffy drizzd_: http://pastie.org/69258320:40
marc_m joined20:41
charon rbanffy: what's inside f1?20:41
rbanffy charon: nothing20:41
Artefact2 joined20:41
charon crazy.20:41
drizzd_ yeah20:41
Artefact2 hello there, is it possible to have per-branch index?20:41
eg. leave different files "added" but uncommited in different branches20:42
drizzd_ rbanffy: what's the exit code of git add? can you show us an strace?20:42
Tobin left20:42
drizzd_ (not sure if that's available in cygwin?)20:42
bentob0x left20:42
charon Artefact2: man git-stash, though not really. probably you're about as well off with temporary commits and resetting them20:42
Gitbot Artefact2: the git-stash manpage can be found at http://git.or.cz/man/git-stash20:42
drizzd_ rbanffy: btw., for a fast and easy fix: install msysgit :-)20:43
Artefact2 charon: thanks, i already know stashes. they're not really adapted for what I want to do though20:43
i guess i'll have to use them then20:44
thanks20:44
drizzd_ Artefact2: you could try to use multiple git dirs (configured by a post-checkout hook), which you keep sychronized by symlinks or pushing, hmm. crazy though20:45
sgh left20:45
charon Artefact2: well, as i said, you can always use 'git commit -m index; git add -u; git commit -m worktree' to make a sort of stash but tied to the branch (stashes aren't). then use 'git checkout branch; git reset HEAD^; git reset --soft HEAD^' to restore.20:45
brockp left20:45
jlilly left20:46
jlilly_jlilly20:46
drizzd_ Artefact2: yeah, ^- that's better20:46
Artefact2 charon: okay, is there a way to automatically do that when switching between branches?20:47
drizzd_ Artefact2: post-checkout hook20:47
gitster` senses a classic XY problem.20:47
Artefact2 drizzd_: i will try that, thanks20:47
rbanffy drizzd_: strace result in 4 parts http://pastie.org/692596 http://pastie.org/692597 http://pastie.org/692598 http://pastie.org/69259920:47
omerj joined20:47
drizzd_ good thing I installed a url grabber...20:48
charon the interesting part is in the last one20:49
gitster` Artefact2: what did you think per-branch index would be a good tool that can be used to to solve? Is the issue "I often work on two or more different things at the same time?20:49
evnnyn left20:49
juan_arandaalva1 left20:50
s0ber left20:50
rbanffy drizzd_: "exitcode 0x0" looks like a happy thing20:51
ciskje joined20:51
Artefact2 gitster`: yes, actuallu20:52
qrush_ joined20:52
sgh joined20:52
ElementalVoid charon: thanks. so now, even though I'll always have a local branch that tracks the svn branch, i'll still have to do a `git checkout <active_branch_name>; git svn rebase` in order to keep up todate with the changes in that branch.20:52
charon: that's fine for a few, but is there a better way?20:53
hakunin joined20:53
quizme joined20:53
[dmp] joined20:54
quizme how do you restore an old version of a file but keep everything else the same?20:54
git show 83026d5ed1f925e2c089bee3e6319f8d34a5c9d6:hello.txt <--- this shows a file, but how do you reset the file ?20:54
charon ElementalVoid: erm... i was assuming this config would be for a sort of central upstream that everyone clones from, so you wouldn't rebase (indeed, not necessarily have a worktree), would you? doesn't git svn fetch deal with the updating?20:54
drizzd_ rbanffy: but link returns -1, I wonder why it doesn't error out20:54
ElementalVoid charon: i guess it may help to know my ultimate goal... i'm transitioning a large team from svn to git. they're still commiting and changing svn. ... nm..20:55
kiuma joined20:55
kiuma hi!20:55
rbanffy drizzd_: Looks like a genuine bug?20:55
ElementalVoid charon: i guess that'd make a huge difference. this repo does not need a working copy. it only needs to be a base repo.20:55
charon: so, no rebasing, just fetching periodically.20:56
charon ElementalVoid: well, whether it has a worktree isn't so important, the main bit is that you will only run 'git svn fetch', not 'git svn rebase'20:56
patmaddox left20:56
ElementalVoid charon: making more sense now...20:57
kiuma whi if I call `git clone http://common-lisp.net/project/claw/git/claw.git` I've not the updated repo, while if I call `git clone ssh://achiumenti@common-lisp.net/project/claw/git/claw.git` I have it ?20:57
kampasky quizme: git checkout 83026 hello.txt ?20:58
s0ber joined20:58
TML left20:58
kampasky kiuma: try running git update-server-info on the server20:58
sgh_ left20:58
kampasky kiuma: you'll probably want to enable hooks/post-update20:58
kiuma kampasky, ok I'll try20:58
TML joined20:59
drizzd_ rbanffy: well, something is wrong. Not sure if it's git or cygwin though.20:59
I don't know if link() is supposed to work in cygwin.21:00
kiuma kampasky, thank you very much21:00
drizzd_ but git doesn't try anything else after the link failure21:00
quizme kampasky: tyu. how about git checkout 83026 -- hello.txt ? I saw the -- on the internet. what's the -- for ?21:01
crazychenz joined21:01
rbanffy drizzd_: git should complain link did something weird21:01
drizzd_ rbanffy: if you have the time, you could try to debug git-add. should be fairly straightforward. but the easiest solution is probably msysgit.21:01
rbanffy drizzd_: I am somewhat rusty in C for Unix-like OSs. What does link() do?21:02
drizzd_ create a hardlink21:02
tjholowaychuk joined21:02
drizzd_ so I guess it's not surprising that it fails on windows21:02
rbanffy drizzd_: I could try Tortoise, which integrates with Windows Explorer.21:02
drizzd_ but I don't know how cygwin handles this internally21:02
Tortoise is just a git frontend21:03
rbanffy drizzd_: but then git would never have worked under cygwin...21:03
drizzd_ and you need msysgit for that anyways21:03
yes, install msysgit, nobody uses cygwin git any more I think21:03
rbanffy drizzd_: But I suppose Tortoise has a Windows-friendly git underneath.21:03
drizzd_ yes, it has msysgit "underneath"21:04
dep241 left21:04
drizzd_ how many times did I say msysgit now?21:04
rbanffy drizzd_: Will it play nice with bash?21:04
drizzd_: 7 times, IIRC21:04
charon drizzd_, rbanffy: there were some changes to move_temp_to_file() in the 1.6.0.4.. range, e.g., be66a6c4 so upgrading may make a difference too21:05
Gitbot [git be66a6c4]: http://tinyurl.com/ygq2zj2 -- Add an option not to use link(src, dest) && unlink(src) when that is unreliable21:05
drubies left21:05
ablemike left21:05
tjholowaychuk left21:05
kampasky quizme: in case the filename starts with a dash21:06
rbanffy Is any of the cygwin maintainers around?21:06
aresnick left21:06
hakunin left21:06
quizme kampasky oh ok that's pretty crazy. they thought of everything.21:06
rbanffy charon: Interesting21:06
hakunin joined21:07
charon quizme: also, man gitcli21:07
Gitbot quizme: the gitcli manpage can be found at http://git.or.cz/man/gitcli21:07
rbanffy charon: drizzd_: I will try to use Cygwin's installer to bring it to 1.6.1.221:07
juan_arandaalvar joined21:08
quizme ty21:08
charon rbanffy: msysgit...21:08
lorandi left21:08
charon does the jedi wave21:08
rbanffy charon: That's plan B ;-) I am not sure it will play nice with cygwin's stdin and stdout21:09
khmarbaise left21:09
kiuma left21:09
rbanffy charon: besides that, I am weary of installing stuff to the Windows side of the box. It's so... uncivilized.21:10
psynaptic joined21:11
mcella joined21:13
rbanffy charon: And, on top of that, it's easy to test. 1.6.1.2 didn't work :-(21:14
drizzd_: charon: msysvn will be21:14
oops... sorry. there is a guy around praising svn21:14
jmcantrell joined21:14
rbanffy msygit it now plan-A21:15
blakemizerany joined21:16
FunkeeMonk joined21:16
malumalu left21:18
r0bby_r0bby|android21:19
jschoolcraft left21:20
r0bby|androidr0bby21:20
charon anyone ever looked at dscho's stalled rebase -i -p work? rebasing it to master was endless fun, not sure i want to look at it after that21:22
phish3 left21:23
ElementalVoid charon: so when i finally disable svn access. i'm going to clone my git-svn repo to a clean git repo. what's the best method to remove the git-svn as a remote from the new git repo? does that make sense?21:23
drubies joined21:23
niki joined21:24
ElementalVoid charon: i want my new git only repo to be an ultimate origin (with no remote origins of its own)21:24
shruggar joined21:24
charon ElementalVoid: you can clean up the refs/remotes/* namespace (perhaps even now, if you moved all branches to heads/*, but you may want to keep it for the tags etc)21:25
other than that, there's no way for a client to tell that you cloned from somewhere21:25
shruggar I was doing "git add" and got "error: bad index file sha1 signature"21:26
hydrogen left21:26
shruggar "git reset" produces similar errors and fails21:27
tbuehlmann left21:27
shruggar how can I get my index back to a point where I can add things?21:27
tvw left21:27
ElementalVoid charon: i can't do it now though since i still need to fetch from svn for the time being. as for cleaning up later, do i just delete (rm -rf) the .git/refs/remotes/* ?21:27
Chepra_ joined21:28
Chepra_ Hello. Is it possible to have 2 keys per user with gitosis?21:29
r0bbyr0bby|android21:29
r0bby|androidr0bby21:29
charon ElementalVoid: doesn't work if your refs were packed in the meantime; try something along the lines of git for-each-ref --format="%(refname)" refs/remotes/ | xargs -n 1 echo git update-ref -d21:29
(you know what to remove if you really want to do this)21:29
hydrogen joined21:31
bazz joined21:32
Stravy joined21:32
Darkas left21:32
charon shruggar: mv .git/{index,this-index-is-broken}; git reset21:32
bazz so, i went back to a particular commit, and then made some changes. what i'd like to do is pull those changes up to the current master, but i'm not quite sure the right way to do that21:32
sergiodj1 joined21:33
impulze sitaram: around? :)21:33
jlilly_ joined21:34
sergiodj1 hello, I'm using "git push --mirror" in order to create a mirror of git repository (duh!), but it fails to push all the branches expect for master21:34
the funny thing is that it's not returning any error message, and it says everything is up-to-date if I try to push again21:35
any ideas?21:35
charon Chepra_: afaik you have to make two separate users in gitosis's eyes (but give them the same permissions)21:35
shruggar left21:35
charon bazz: so you have some uncommitted changes, and want to take them forward to master and commit them there?21:35
navvywavvy left21:36
Chepra_ charon: that doesnt sounds so nice :/21:38
ElementalVoid charon: just figured out exactly what i was looking for... git clone --bare portal-gitsvn.git portal.git - now i have a clean git repo that doesn't have any upstream but has preserved all of the brances and tags.21:39
wooo!21:39
no need to fetch, or mess with the command you sent.21:40
although, that did work. i tried it.21:40
galderz left21:40
charon hmm. i wanted to say "but that'll put the refs in the wrong place", but TFM says it puts them in the heads/ namespace. so now i'm a bit confused as to the difference between clone --mirror and --bare21:40
ElementalVoid i'll give mirror a shot and see.21:40
charon not that it matters that much, as i haven't used either yet21:40
jon joined21:41
ElementalVoid mirror still has the remote21:41
jon is there a way to tell git pull to overwrite untracked working tree files21:41
jonGuest2446121:41
Guest24461 or git merge21:41
charon ah. thanks for checking21:41
ElementalVoid welcome. mirror also will place the brances in refs/heads/* (like bare does)21:42
sergiodj1 oh man21:42
ElementalVoid cjs: you still there??21:42
sergiodj1 should I have used the "--mirror" option in git-clone?21:42
I don't think so21:42
it's really strange that "git push --mirror" didn't push the branches...21:42
Stravy left21:43
Aikawa joined21:44
Aikawa_ left21:44
hydrogen left21:45
hugoxrosa joined21:48
drubies left21:48
imajes left21:48
jlilly left21:49
jlilly_jlilly21:49
WebDragonWebDragon|away21:49
rbanffy left21:49
ElementalVoid charon: so i still have a problem. in my git-svn repo (which is bare at this point) there are updates to svn/branches/4.2 which do not get fetched with `git svn fetch` how do i get those changes from svn?21:49
Swimming_Bird joined21:49
Swimming_Bird what sort of features does autocomplete give with git? can it complete your branch names?21:50
charon ElementalVoid: what about git svn fetch --all?21:50
(another somewhat underdocumented option)21:50
corni left21:51
mugwump Swimming_Bird: it even completes *remote* branch names21:51
belred joined21:51
Swimming_Bird nice21:51
altrux joined21:51
charon all sorts of other fun stuff like options or paths inside trees to name blobs21:51
Swimming_Bird mugwump: i have it installed on my mac w/o autocomplete. do you know with macports do i have to uninstall git and re-install with the autocomplete switch?21:52
jmcantrell left21:52
sergiodj1 hey guys, did anyone have to mirror one git repository?21:52
mugwump not required, just call the completion script from your .bashrc21:52
bazz charon: yes21:52
Swimming_Bird mugwump: you happen to know that? or should ask google?21:53
belred i cloned a repo and there is a develop branch that it want to work on. am i supposed to "git checkout -b develop origin/develop" to work on it? then "git push develop" to put it back on the server?21:53
charon bazz: git checkout master, or if that complains about conflicting changes: git stash; git checkout master; git stash pop21:54
WebDragon|awayWebDragon21:54
ElementalVoid charon: nope. still only grabs from svn/trunk21:54
altrux left21:54
bazz charon: ohh, easy as that huh, awesome :)21:54
altrux joined21:54
ElementalVoid charon: ah, probably because the fetch line in git config21:55
sergiodj1 belred: yes, you're encouraged to create your own branch and work on it. after you have finished your work, you'll have to merge your branch with the master branch, and push it (basically that)21:55
belred sergiodj1: right now i don't want to merge my branch with the master, i want to merge it with develop on the server21:56
sergiodj1 belred: yeah, that's what I was going to say. in your case, s/master/develop21:56
flazz left21:57
Grahack left21:57
charon ElementalVoid: hmm, but if your branches all point the right way that should be fine21:57
smuf joined21:57
d0k left21:58
belred sergiodj1: i don't understand what i'm supposed to after i modify my code. am i supposed to stay in develop and "git merge origin/develop" ?21:58
then "git push develop"21:59
will that automatically update the develop branch on the server?21:59
sergiodj1 belred: basically: git checkout develop ; git merge my-develop-branch (supposing your local branch is named "my-develop-branch")21:59
belred: after that, you'll have to push the develop branch22:00
belred i did get checkout develop, but it said did not match any files known to git22:00
ElementalVoid charon: after `git svn fetch --all` i run `git show heads/4.2` which has old data, but `git show remotes/4.2` has current data.22:01
m-takagim-takagi_22:02
belred sergiodj1: i'm looking at git gui and it says that the remotes/origin/develop exists22:02
charon ElementalVoid: with the git-svn config pointing into the refs/heads/ namespace?22:02
rfayrfay_afk22:02
sergiodj1 belred: ok, so you have to check it out in some local branch22:03
belred: sorry, I assumed that you already had the local "develop" branch22:03
ElementalVoid charon: as here -> http://pastie.org/69254622:03
belred i see, so i have to create my own local develop branch...22:03
ia left22:04
sergiodj1 belred: yes22:04
sorry about missing that22:04
ElementalVoid charon: should i change the fetch line to -> fetch = company/portal/*:refs/heads/* ?22:04
belred i'm confused when i push pack, how will it know that my develop branch is associated with origin/develop and will move the origin/develop pointer?22:04
ElementalVoid charon: that would incur another full scan of svn i think.22:04
charon ElementalVoid: no, fetch= is for trunk. of course you can change it to fetch = company/portal/trunk:refs/heads/trunk if you want it in the heads namespace, but it shouldn't impact the branches22:05
leachbj joined22:06
charon i'm tempted to say "discard the git-svn cache" but i'm not sure if you need one or several fetches to recreate it22:06
sergiodj1 belred: you'll have to tell. if I'm not mistaken, you must do: git push origin develop:develop22:06
belred: but please do check that before you run it22:06
ElementalVoid charon: again with names being vague and whatnot...22:06
charon: i'll tar it up and try that out.22:06
charon that cache is in .git/svn if you didn't already know... a simple 'git svn fetch' *should* recreate it22:06
unless you used --no-metadata in which case you're in some trouble22:07
sergiodj1 belred: that "git push" command is saying that you want to update your remote develop branch using your local develop branch22:07
belred sergiodj1: ok, i see... i'm sure you don't need to repeat develop twice... it means the same22:07
SethX left22:07
sergiodj1 belred: well, maybe you're right...22:07
ElementalVoid charon: nope, i kept the metadata. however, deleting the cache will absolutely cause a full svn scan again.22:07
resmo joined22:07
ehabkost left22:09
ludde2 joined22:09
ElementalVoid charon: maybe. it doesn't actually seem to be hitting my svn server. i think it is doing it all locally.22:09
charon ah. that's much better :) i was rather confused for a moment22:09
ElementalVoid that's what i get for making (un)educated guesses22:10
belred left22:11
WebDragon|away joined22:11
muthu joined22:12
mbroeker left22:12
charon i don't really understand why it doesn't update the branches, but i've had to recreate caches before so i hoped that would work22:12
ia joined22:12
ElementalVoid charon: we'll see, but it may be a while. it's a large svn repo : )22:12
charon uh oh22:13
r11t joined22:13
WebDragon|away left22:13
charon that operation is usually more or less instant for me :)22:13
ludde left22:13
loincloth[SCALING]22:14
imajes joined22:14
[SCALING][SCALING]loinclo22:14
[SCALING]loincloloincloth22:15
ElementalVoid charon: the initial `git svn fetch` took hours22:16
several of them22:16
sshc_ joined22:16
sshc_sshc22:17
sshc how do I find the number of commits in the master branch?22:17
DavidKlein left22:17
DrNick git rev-list master | wc -l22:17
ElementalVoid DrNick: is that aimed at me?22:18
flaguy48 joined22:19
jacobfogg left22:20
ElementalVoid charon: hmm.. so for kicks i tried -> `git fetch . refs/remotes/*:refs/heads/*`.22:21
git fetch . refs/remotes/*:refs/heads/*22:21
From .22:21
! [rejected] 4.2 -> 4.2 (non fast forward)22:21
* [new branch] tags/4.1 -> tags/4.122:21
d520036..06c1033 trunk -> trunk22:21
lru left22:21
ElementalVoid charon: 4.2 is the branch that is not updating locally22:21
loincloth left22:22
ElementalVoid charon: and it looks like i need to change the tags line in the config, too.22:22
Vitaly left22:23
rredford joined22:24
rredford hey all. I'm stuck on eclipse using git... how do I update remote repository with source code I modified?22:24
kpreid_ joined22:25
tstclair left22:25
DrAk0 left22:25
rredford Anyone used git with eclipse?22:26
ElementalVoid i have not.22:26
sergiodj1 left22:26
kpreid_ left22:26
tstclair joined22:26
ElementalVoid but having used svn in eclipse, take a look at the team menus (right click on your project)22:26
kpreid_ joined22:27
ph^ left22:27
rredford Yeah I used "push to..."22:27
ludde joined22:27
rredford but it always errors out22:28
WALoeIII left22:28
WebDragon left22:28
ElementalVoid rredford: nothing in eclipse should prevent you from doing things on the cli. git/svn in eclipse are really just wrappers around the core tool.22:28
WALoeIII joined22:28
ElementalVoid rredford: if you're more comfortable using git commands directly then i'd say do that.22:29
rredford There dont seem to be git tools in windows22:29
ElementalVoid rredford: maybe http://code.google.com/p/msysgit/downloads/list ? that assumes that you are allowed to install software22:30
Cesario left22:30
rredford thanks. :)22:31
bye22:31
rredford left22:31
ludde2 left22:31
mm_work left22:31
stringo0 joined22:32
tehbaut| joined22:35
unreal left22:35
vinse left22:35
ludde2 joined22:35
AAA_awright_ joined22:35
vinse joined22:35
Pewpew joined22:36
unreal joined22:36
JEEB left22:36
RobertMeta_ joined22:37
RobertMeta left22:37
tstclairtstclair-out22:37
tstclair-out left22:37
Cesario joined22:38
hakunin left22:38
hakunin joined22:39
scarabx joined22:42
Sigma left22:43
Pewpewarrows left22:43
qrush_ left22:43
AAA_awright left22:44
tehbaut left22:44
j416 joined22:45
cenuij left22:45
ludde2 left22:45
ludde2 joined22:45
kumbayo left22:46
bcardarella left22:47
JakeSays left22:48
JakeSays joined22:49
RobertLaptop left22:50
RobertLaptop joined22:50
ludde left22:52
bibinou left22:53
rudi_s_ left22:54
eletuchy joined22:54
ludde2 left22:54
Guest24461jonthefly22:55
ludde joined22:55
jonthefly is there a way to tell git-pull to overwrite an untracked working copy22:55
or discard local changes22:55
or even git-merge actually22:55
fcuk112_ joined22:56
mugwump git merge -s ours22:57
oh, you want the opposite22:57
fcuk112_ left22:57
Ilari jonthefly: rm that untracked file first.22:57
jonthefly Ya i know that llari: Im asking if there is a way to tell git to rm it or force the merge to happen22:58
fcuk112_ joined22:59
Ilari jonthefly: In current versions, no.22:59
rolfb left23:00
jonthefly k thanks23:02
patrikf left23:04
loincloth joined23:05
lamont left23:07
lamont joined23:08
sykopomp left23:08
fcuk112 left23:08
lucsky left23:08
rettub left23:08
rettub joined23:09
justinsb_ left23:13
sykopomp joined23:14
dunolie left23:14
justinsb_ joined23:14
bdimcheff left23:15
bachya joined23:16
bachya Hi all - if I've defined which remote a particular branch is supposed to use, is there a way to grab that remote in bash?23:16
mugwump I think 'git fetch' should default to that23:17
vbgunz__ left23:17
mugwump if you've got it checked out23:17
ixti left23:19
bachya Right - but I need the name of the remote returned.23:21
I'm writing a specialized function.23:21
Maybe one of the __git functions?23:21
mugwump ok so you get the current branch with git symbolic-ref HEAD | sed 's.refs/heads/..'23:22
then you can call git config branch.$(branch).remote23:22
er, $(branch) is not literal there23:22
bachya Nice!!23:23
That works perfect23:23
Thanks, mugwump. :)23:23
mugwump bachya: see also "plumbing commands" in man git23:24
bachya Very cool23:24
You learn something new every day.23:25
ludde left23:25
coolcat joined23:26
lightcap_ joined23:27
archis joined23:27
lukas joined23:31
archis left23:31
lukas Hi :)23:31
could someone help me to set up git server?23:31
jrmuizel left23:31
bachya I can, lukas23:31
Do you have a server already?23:32
lukas i'm setting on opensuse 1.11 on VDS23:32
bachya Okay - I'm not terribly well versed in OpenSUSE, but I'll try to help.23:32
lightcap_ left23:33
sykopomp left23:33
suman left23:33
lukas have these http://pastebin.ca/1665618 packages istalled23:33
joevano joined23:34
bachya Are you planning on having multiple users access your git server?23:34
lukas yes23:34
~2-3 user for now23:34
mcella left23:35
bachya Gitosis is a great option (I use it) - check out this guide: http://progit.org/book/ch4-7.html23:35
Let me know if you have questions.23:35
lukas thants, reading.... :)23:36
lamont left23:36
j416 also check gitolite.23:38
I have tried neither, but from what I hear, gitolite > gitosis.23:38
bachya j416, what's supposed to be better?23:38
I might have to check that out...23:39
j416 bachya: easier config, easier installation, more powerful23:39
Ilari bachya: Per-branch write / rewind control, not relying setuptools (its sometimes flaky).23:39
j416 bachya: http://github.com/sitaramc/gitolite23:39
check the readme23:39
bachya Sick - thanks!23:39
Weasel[DK] left23:40
ryoma joined23:42
mee man, managers *love* gource23:42
vbgunz__ joined23:43
j416 mee: wow, that looks pretty awesome23:44
bachya That is cool.23:44
imajes left23:45
sykopomp joined23:46
mee oh, yeah, it's pretty fun23:46
mugwump I'm trying to trick the author into making a git gui based on it :->23:46
mee heh, totally impossible23:47
j416 hah23:47
bachya Okay, so I love Gitolite - I need to figure out how to completely remove Gitosis.23:47
thermal_ left23:47
Ilari bachya: The parts of gitosis install are 1) ~git/reposiotories/gitosis-admin.git 2) ~git/.gitosis.conf 3) its keys in ~git/.ssh/authorized_keys.23:49
thermal_ joined23:50
bachya That's pretty easy23:50
So remove those + the gitosis commands?23:50
flazz joined23:51
Ilari bachya: Note that there may also be non-gitosis stuff in ~git/.ssh/authorized_keys.23:51
dfr|work left23:52
lamont joined23:53
blakemizerany left23:54
Aikawa_ joined23:54
lamont left23:56
lamont joined23:56
blakemizerany joined23:56
lukas Ilari: to instal and set up gitolite, do i have to set up anything before?23:58
cannonball left23:58
ElementalVoid help23:59
bah23:59
pantsman left23:59

Logs Search ←Prev date Next date→ Channels Documentation