| 2009-11-10 |
| ← Turias left | 00:00 |
| ← unreal left | 00: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 rebase | 00:04 |
| ← Paraselene_ left | 00:04 |
|
jast
| this only works if the original git-svn repo was created without noMetadata | 00:04 |
| ← psycovic_ left | 00:04 |
| ← jayne_ left | 00:04 |
| → unreal joined | 00:04 |
|
jast
| it also needs to have all the git-svn branches in the right places | 00:04 |
| → jayne joined | 00:05 |
|
jnareb
| What was "Bug-tracking in git.git" on GitTogether'09 (by peff) about? | 00:05 |
|
jast
| probably something horrible ;) | 00:05 |
| ← parasti left | 00:06 |
| → m104 joined | 00:06 |
|
mugwump
| jnareb: just about possibilities for keeping a collaborative todo list | 00:07 |
| → kardan_ joined | 00:07 |
| → kiwinewt joined | 00:07 |
|
mugwump
| we talked about having a project on github and using sd or cil etc | 00:07 |
|
| wouldn't be a "put your gripe here"-type public list, more for co-ordinating bug triaging and fixes | 00:07 |
| ← kpreid_ left | 00:08 |
| → kpreid_ joined | 00:08 |
| → hobodave joined | 00:09 |
| ← SRabbelier left | 00:09 |
|
jnareb
| mugwump: thanks again | 00:10 |
|
mugwump
| np! | 00:10 |
| → volante joined | 00:10 |
| ← kardan| left | 00:11 |
| ← mjc left | 00:11 |
| → Paraselene__ joined | 00:12 |
|
volante
| how do i find the merge which introduced a certain commit into a branch | 00:12 |
| ← Alien_Freak left | 00:12 |
| ← ciskje left | 00:14 |
| ← jmspeex left | 00:17 |
| ← kiwinewt left | 00:18 |
| ← bambule left | 00:19 |
| ← Haarg left | 00:20 |
| uroboros → mjf | 00:21 |
| ← jchris left | 00:21 |
| ← marc_m left | 00:22 |
| ← tamm0r left | 00:22 |
| ← slabbeh left | 00:23 |
| ← leitao left | 00:25 |
| ← rtyler left | 00:27 |
| → ctusar joined | 00:27 |
| → skyl joined | 00:28 |
| → rtyler joined | 00:29 |
| ← giallu_ left | 00:30 |
| → freerobby joined | 00:32 |
| → jmspeex joined | 00:32 |
| ← freerobby left | 00:33 |
| ← orafu left | 00:33 |
| → orafu joined | 00:33 |
| → madewokherd joined | 00:38 |
| ← Hydrox left | 00:39 |
| ← qrush left | 00:39 |
| → psycovic joined | 00:39 |
| → eletuchy joined | 00:40 |
| ← tekky left | 00:40 |
| ← hobodave left | 00:42 |
| ← nothingHappens left | 00:43 |
| ← dfr|work left | 00:44 |
| ← onigiri left | 00:45 |
| ← mcella left | 00:45 |
| ← sgh left | 00:47 |
| → agile joined | 00:47 |
| → ryoma joined | 00:47 |
| ← wald0 left | 00:47 |
| ← icwiener left | 00:47 |
| → scarabx joined | 00:48 |
|
pcc1
| how can I set the (git svn init) --add-author-from option after I have already created the repository? | 00:49 |
| m-takagi → m-takagi_ | 00:49 |
| ← jnareb left | 00:49 |
| ← dmlloyd left | 00:52 |
| ← drewolson left | 00:52 |
| → crazychenz_ joined | 00:52 |
| ← mjf left | 00:54 |
| → jchris joined | 00:56 |
| → dmlloyd joined | 01:02 |
| → jmcantrell joined | 01:03 |
| → fynn joined | 01: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 left | 01:05 |
| → Aikawa joined | 01:05 |
| ← pantsman left | 01:06 |
| ← nsussman left | 01:08 |
|
DrNick
| fynn: stick an empty .gitignore in there | 01:08 |
| ← __iron left | 01: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 directories | 01:09 |
|
| so unless you want to implement them, that's the current solution | 01:09 |
|
fynn
| DrNick: yeah, I'll use that, but I won't call the empty file .gitignore. | 01:10 |
| ← patmaddox left | 01:14 |
| → rchavik joined | 01:14 |
| ← dsch04 left | 01:15 |
| ← dreiss left | 01:15 |
| ← Aikawa_ left | 01:17 |
| → bibinou_ joined | 01:17 |
| ← j416 left | 01:17 |
| → Aikawa_ joined | 01:18 |
| ← bibinou left | 01:18 |
| ← Aikawa left | 01:19 |
| bibinou_ → bibinou | 01:19 |
| ← qhoxie_ left | 01:19 |
| → rchavik1 joined | 01:20 |
| → cxvii joined | 01:20 |
| ← gk left | 01:21 |
| → gk joined | 01:21 |
| ← brodie left | 01:21 |
| ← tvw left | 01:21 |
| rfay → rfay_afk | 01:21 |
| → jedahan joined | 01:21 |
| → brodie joined | 01:21 |
| → tvw joined | 01: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 left | 01:22 |
| → jinzhu joined | 01:25 |
| ← ChenKaie left | 01:27 |
| → icule1 joined | 01:27 |
| ← kennethlove left | 01: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 joined | 01:31 |
| → j416 joined | 01:32 |
| → patmaddox joined | 01:32 |
| ← rchavik left | 01:32 |
| rchavik1 → rchavik | 01:32 |
|
mugwump
| icule1: git log -S, git blame | 01:34 |
| ← bibinou left | 01: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 213 | 01:34 |
| ← patmaddox left | 01:34 |
|
thorkild
| I thought I could use git cherry pick, but it failed to work with remote bracnh | 01:35 |
| ← krynnotaur left | 01:35 |
| ← cxvii left | 01:35 |
|
thorkild
| umm.. it seems to work. I must have had a typo earlier :) | 01:36 |
| → justinsb_ joined | 01:37 |
|
icule1
| mugwump: Wonderful. "git log -Sstring -- file" did it! Thanks! | 01:37 |
| ← fynn left | 01:38 |
| ← thorkild left | 01:38 |
| → drewolson joined | 01:39 |
| ← drewolson left | 01:39 |
| → dwmw2_gone_ joined | 01:40 |
| ← Chillance left | 01:41 |
| ← dwmw2_gone left | 01: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 left | 01:43 |
| ← dwmw2_gone_ left | 01:43 |
| ← crazychenz_ left | 01:44 |
| ← jstephenson left | 01:44 |
|
skyl
| git submodule update rolls me back to the original commit | 01:45 |
| ← doener left | 01:45 |
| → doener joined | 01:45 |
|
skyl
| I want to let the submodules advance and be able to edit them and push/pull from within the larger module | 01:46 |
| → siks joined | 01:46 |
| ← javatexan left | 01:46 |
| → dwmw2_gone_ joined | 01:46 |
| → plediii joined | 01:47 |
| ← tbuehlmann left | 01:47 |
| → hydrogen joined | 01:47 |
| → hyperair joined | 01:47 |
| ← ctusar left | 01:48 |
| → ChenKaie joined | 01:49 |
| ← nevyn left | 01:50 |
| ← jmcantrell left | 01:51 |
| → nevyn joined | 01: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 left | 01: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 copy | 01:55 |
|
selckin
| git status will tell you | 01:55 |
|
volante
| excellent, thanks :) | 01:55 |
| ← intripoon left | 01:56 |
|
doener
| skyl: you're most likely on a detached HEAD in the submodule repo | 01:56 |
|
| skyl: so the "git commit" step didn't update any branch heads, so there's nothing to push | 01:56 |
|
| skyl: (at least not with the push defaults) | 01:56 |
| ← siksi left | 01:57 |
| → elmex joined | 01:58 |
|
skyl
| doener yes, I see ``detached HEAD 3953978`` | 01:59 |
|
| after I commit | 01:59 |
| ← keex left | 02:00 |
| ← godsflaw left | 02:01 |
| ← mattayers left | 02:02 |
| → psynaptic joined | 02:03 |
| ← TeckniX left | 02:08 |
| ← bugfux left | 02:08 |
| → bugfux joined | 02:08 |
| ← sagsousuke left | 02:14 |
| ← spearce left | 02:15 |
| ← tetha left | 02:17 |
| → r11t joined | 02:17 |
| ← tedoc2000 left | 02:18 |
| ← psynaptic left | 02:19 |
| → paltman joined | 02:20 |
| → tedoc2000 joined | 02:21 |
| ← dwmw2_gone_ left | 02:21 |
| ← brizly left | 02:23 |
| → dwmw2_gone_ joined | 02:23 |
| → upul joined | 02:24 |
| → VVSiz_ joined | 02:24 |
| → dreiss joined | 02:26 |
| ← hgimenez left | 02:26 |
| → hgimenez joined | 02:26 |
| ← jmspeex left | 02:28 |
| → Adlai` joined | 02:30 |
| → blakemizerany joined | 02: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 joined | 02:37 |
| → JNR___ joined | 02:38 |
|
mugwump
| blakemizerany: the vfs on Mac OS X is totally fucked | 02:38 |
| ← engla left | 02: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 yet | 02:39 |
|
| the workaround is apparently to disable smp | 02: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 filesystem | 02: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 course | 02:41 |
|
blakemizerany
| mugwump: it fails 100% of the time in the sh script. never when I run it manually | 02:42 |
|
mugwump
| well, maybe it's not the same bug | 02:42 |
| ← VVSiz left | 02:42 |
|
mugwump
| or maybe the script tickles it reliably for some reason | 02: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 it | 02: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 behind | 02:43 |
|
mugwump
| ok, that's useful | 02: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' useful | 02:44 |
| → bcardarella joined | 02:45 |
|
blakemizerany
| https://gist.github.com/5e318493533907940dc7 | 02:46 |
|
| mugwump: heh. I've been trying to learn dtrace all afternoon to figure this out | 02:46 |
|
| Ilari: that is the output I get with sh -x | 02:46 |
|
| on the first run | 02:46 |
|
Ilari
| Hmm.... fatal: unable to write new index file | 02:47 |
|
blakemizerany
| Ilari: this is the second run with the rm -rf sinatra/ https://gist.github.com/5e318493533907940dc7 | 02:47 |
| ← juan_arandaalvar left | 02: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 left | 02:49 |
| → qhoxie_ joined | 02:50 |
| ← Adlai left | 02: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 left | 02:50 |
|
Ilari
| mugwump: " "-m ent" or "--reset ent" form)," | 02:51 |
| ← bugfux left | 02:52 |
| ← hyperair left | 02:52 |
| ← Theravadan left | 02:53 |
|
Ilari
| Also: " /* sha1:path --> object name of path in ent sha1" | 02:54 |
| → jrmuizel joined | 02:56 |
| → r11t_ joined | 02:57 |
| → ctusar joined | 02:57 |
| ← JNR___ left | 02:57 |
| → tmh joined | 02:58 |
| ← j416 left | 02: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-takagi | 02:59 |
| → juan_arandaalvar joined | 03:00 |
| ← WALoeIII left | 03:02 |
| ← justinsb_ left | 03:04 |
| → justinsb_ joined | 03:05 |
|
jedahan
| i recommend 'Moby Git or, The Walrus' | 03:05 |
|
| unfortunately its hard to find a copy | 03:06 |
| → blakemizerany joined | 03:06 |
| ← vbgunz__ left | 03:06 |
| → WALoeIII joined | 03:09 |
| → hyperair joined | 03:09 |
| ← r11t left | 03:09 |
| ← tvw left | 03:10 |
| → jmspeex joined | 03:11 |
| → Theravadan joined | 03:12 |
| → bcardarella_ joined | 03:13 |
| → sh1mmer joined | 03:14 |
| ← mfilipe left | 03:14 |
| ← bcardarella_ left | 03:15 |
| → meanburrito920_ joined | 03:20 |
| → cytrinox_ joined | 03:20 |
| ← bcardarella left | 03:20 |
| → leaf-sheep joined | 03:21 |
| ← tek0 left | 03:22 |
| → tek0 joined | 03:22 |
| → flazz joined | 03:22 |
| → fr- joined | 03:22 |
| → rheddry joined | 03:22 |
| ← Tommy[D]_ left | 03:22 |
| ← Arrowmaster left | 03:22 |
| ← agib left | 03:22 |
| ← incd^ left | 03:22 |
| ← runasand left | 03:22 |
| ← seanius left | 03:22 |
| ← USA_NO_1 left | 03:22 |
| ← jksz left | 03:22 |
| ← agrippa left | 03:22 |
| ← _masta__ left | 03:22 |
| ← jujule2 left | 03:22 |
| ← samjam left | 03:22 |
| ← corecode left | 03:22 |
| ← capnkernul left | 03:22 |
| ← ToxicFrog left | 03:22 |
| ← nothingmuch left | 03:22 |
| ← thijso left | 03:22 |
| ← nano- left | 03:22 |
| ← mapreduce left | 03:22 |
| ← Leonidas left | 03:22 |
| ← numbah left | 03:22 |
| ← tpope left | 03:22 |
| ← cornbread left | 03:22 |
| ← dna left | 03:22 |
| ← redondos left | 03:22 |
| ← broonie left | 03:22 |
| ← SunilThaha left | 03:22 |
| ← KeeperOfTheSoul left | 03:22 |
| ← literal left | 03:22 |
| ← mika left | 03:22 |
| ← ferdy left | 03:22 |
| ← ruxpin left | 03:22 |
| ← SethX left | 03:22 |
| ← Spark left | 03:22 |
| ← Trey left | 03:22 |
| ← wereHamster left | 03:22 |
| ← awx left | 03:22 |
| ← joevano left | 03:22 |
| ← orospakr left | 03:22 |
| ← pippijn left | 03:22 |
| ← quentusrex left | 03:22 |
| ← snuxoll left | 03:22 |
| ← charlls left | 03:22 |
| ← ramsey left | 03:22 |
| ← candybar left | 03:22 |
| ← Mikachu left | 03:22 |
| ← rgs__ left | 03:22 |
| ← fr| left | 03:22 |
| ← BeerSerc left | 03:22 |
| ← sejo left | 03:22 |
| ← Bucciarati left | 03:22 |
| ← reuss left | 03:22 |
| ← Mizar-jp left | 03:22 |
| ← henr_k left | 03:22 |
| ← levifig left | 03:22 |
| ← siraj left | 03:22 |
| ← stepnem left | 03:22 |
| → stepnem_ joined | 03:22 |
| rheddry → levifig | 03:22 |
| → Leonidas joined | 03:23 |
| → SethX joined | 03:23 |
| → candybar joined | 03:23 |
| → cornbread joined | 03:23 |
| stepnem_ → stepnem | 03:23 |
| → literal joined | 03:23 |
| → mapreduce joined | 03:23 |
| → jujule2 joined | 03:23 |
| → runasand joined | 03:24 |
| → KeeperOfTheSoul joined | 03:24 |
| → broonie joined | 03:24 |
| → pippijn joined | 03:24 |
| → nothingmuch joined | 03:24 |
| → tpope joined | 03:24 |
| → Arrowmaster joined | 03:24 |
| → Trey joined | 03:24 |
| → Spark joined | 03:24 |
| → sejo joined | 03:24 |
| → mika joined | 03:24 |
| → joevano joined | 03:24 |
| → jksz joined | 03:24 |
| ← flaguy48 left | 03:24 |
| ← stepnem left | 03:25 |
| → stepnem joined | 03:26 |
| ← seanbrant left | 03:26 |
| → siraj joined | 03:27 |
| → snuxoll joined | 03:28 |
| → nano- joined | 03:28 |
| → wereHamster joined | 03:28 |
| → USA_NO_1 joined | 03:28 |
| → _masta_ joined | 03:28 |
| → corecode joined | 03:28 |
| → BeerSerc joined | 03:28 |
| → ruxpin joined | 03:28 |
| → reuss joined | 03:28 |
| → numbah joined | 03:28 |
| → thijso joined | 03:28 |
| → ferdy joined | 03:28 |
| → ramsey joined | 03:28 |
| → henr_k joined | 03:28 |
| → incd^ joined | 03:28 |
| → seanius joined | 03:28 |
| ← stepnem left | 03:30 |
| → stepnem joined | 03:31 |
| → cedric_ joined | 03:32 |
| → orospakr joined | 03:33 |
| → Mikachu joined | 03:33 |
| → Bucciarati joined | 03:33 |
| ← sh1mmer left | 03:36 |
| → moconnor joined | 03:36 |
| → sh1m joined | 03:36 |
| ← cytrinox left | 03:36 |
| cytrinox_ → cytrinox | 03:36 |
| ← paltman left | 03:36 |
| → aspotashev_ joined | 03:38 |
| ← LiamH left | 03:39 |
| ← aspotashev left | 03:39 |
| → dna_ joined | 03:39 |
| → hobodave joined | 03:40 |
| ← imajes left | 03:40 |
| ← skyl left | 03:41 |
| ← _martinS_ left | 03:43 |
| ← squentin left | 03:43 |
| → ben_h joined | 03:45 |
| ← tedoc2000 left | 03:45 |
| → aspotashev joined | 03:45 |
| ← aspotashev_ left | 03:45 |
| → quentusrex joined | 03: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/960edf3b03be71b5ea4f | 03:46 |
| → agib joined | 03:47 |
| → capnkernul joined | 03:47 |
| → agrippa joined | 03:47 |
| → Mizar-jp joined | 03:47 |
| → awx joined | 03:47 |
| → charlls joined | 03:47 |
| → samjam joined | 03:47 |
| → ToxicFrog joined | 03:47 |
| → imajes joined | 03:48 |
| → SunilThaha joined | 03:48 |
| → redondos joined | 03:48 |
| ← erikvold left | 03:48 |
| ← cedricv left | 03:49 |
|
mugwump
| blakemizerany: ok, that trace is a little had to read compared to say strace | 03:50 |
|
| it's not really showing all system calls is it | 03: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 somewhat | 03:52 |
| → tjaway joined | 03:52 |
|
CareBear\
| blakemizerany : ktrace/kdump | 03:52 |
|
| blakemizerany : or dtrace | 03:52 |
| ← stepnem left | 03:53 |
|
blakemizerany
| CareBear\: man dtruss looks to say it uses dtrace | 03:53 |
| → stepnem joined | 03:53 |
| ← tjafk left | 03:54 |
|
mugwump
| truss is good too | 03:55 |
|
blakemizerany
| mugwump: https://gist.github.com/5d1377466cda94be7452 | 03:55 |
| → Analias joined | 03:55 |
|
mugwump
| that's not a sensible trace, try redirecting output to a file | 03:56 |
|
| using -o or whatever | 03:57 |
| → solofight joined | 03:57 |
| ← stepnem left | 03:58 |
| → stepnem joined | 03:58 |
|
blakemizerany
| ok | 03:58 |
| → kimmie joined | 03:59 |
| ← jedahan left | 04:00 |
| → deitarion joined | 04:00 |
| → stringo0 joined | 04: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] -> smtppass | 04:03 |
| ← kurtiss left | 04:03 |
| ← aspotashev left | 04:03 |
| → aresnick joined | 04:03 |
| ← Rolenun left | 04:06 |
| ← tek0 left | 04:07 |
| → tek0 joined | 04:07 |
| → yhager_ joined | 04:08 |
| ← eletuchy left | 04:08 |
| ← kimmie left | 04:08 |
| → kimmie joined | 04:08 |
| → haider joined | 04:08 |
| ← juan_arandaalvar left | 04:09 |
| ← leaf-sheep left | 04: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 syscalls | 04:14 |
|
blakemizerany
| heh. yeah. I don't think strace works on os x | 04:14 |
| → paltman joined | 04:14 |
| → crbhome_ joined | 04:15 |
| ← sh1m left | 04:20 |
| ← yhager left | 04:21 |
| ← moconnor left | 04:23 |
| → sam_ joined | 04:23 |
| → Adlai`` joined | 04:25 |
| → sh1mmer joined | 04:28 |
| → bdimcheff joined | 04:28 |
| ← jschoolcraft left | 04:30 |
| ← Adlai` left | 04:33 |
| ← Modius_ left | 04:33 |
| → Modius joined | 04:33 |
| → intripoon joined | 04:34 |
| ← sam_ left | 04:36 |
| ← gretch_ left | 04:40 |
| → gretch_ joined | 04:40 |
| ← hobodave left | 04:41 |
| → kouj joined | 04:44 |
|
blakemizerany
| mugwump: here are the last 500 lines of the dtruss https://gist.github.com/aa8df88d2a4572a4bd90 | 04:44 |
|
| mugwump: I figured out how to work it. heh | 04:44 |
| → moconnor joined | 04:44 |
| → Bass10 joined | 04:44 |
| ← hyperair left | 04:46 |
|
mugwump
| blakemizerany: ok, so wth does -1 Err#2 mean? | 04:48 |
|
| is that like ENOENT? | 04:49 |
| ← argonel left | 04:50 |
| → argonel joined | 04:50 |
| → thomas__ joined | 04:51 |
| ← blakemizerany left | 04:52 |
| → blakemizerany joined | 04:53 |
|
blakemizerany
| mugwump: I'm not sure. I looking now | 04:53 |
| ← kouj left | 04:54 |
|
blakemizerany
| mugwump: it's the return code. I know that | 04:54 |
|
| not sure what it's exact meaning in this context means | 04:54 |
|
| trying to google but coming up short | 04:55 |
|
mugwump
| the man page for that system call should tell you | 04:55 |
| ← aresnick left | 04:55 |
| ← tg left | 04:56 |
| → tg joined | 04:56 |
| → abms1116 joined | 04:58 |
| → yaotti joined | 04:58 |
| → eck joined | 05:00 |
| → yaotti_aw joined | 05:00 |
| yaotti_aw → yaotti_ | 05:00 |
| ← jonmasters left | 05:03 |
| → yarddog joined | 05:03 |
| yarddog → Guest83689 | 05:03 |
| → Adlai``` joined | 05:05 |
| ← Guest83689 left | 05:06 |
|
blakemizerany
| mugwump: it's ENOENT | 05:06 |
| → btipling joined | 05:07 |
| ← paltman left | 05:08 |
|
btipling
| hi | 05:08 |
|
| I have two machines, each with branches of the same git repository | 05:08 |
|
| one of these machines has local branches I would like to transfer to the other machine | 05:08 |
|
| is this possible? | 05:09 |
| → jonmasters joined | 05:11 |
| ← tmh left | 05:11 |
|
PerlJam
| btipling: yes, but don't ask me exactly how. | 05:14 |
|
btipling
| heh | 05:14 |
|
blakemizerany
| btipling: yes. git remote add othermachine git-url | 05:14 |
|
| btipling: git fetch othermachine | 05:14 |
|
PerlJam
| btipling: what blakemizerany said sounds right | 05:14 |
|
btipling
| hrm | 05:14 |
|
blakemizerany
| git checkout -b otherbranch othermachine/otherbranch | 05:14 |
|
btipling
| ok but say I wanted to kill the repo | 05:15 |
|
| on my first machine | 05: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 too | 05:15 |
|
| btipling: owner? | 05:15 |
|
btipling
| well | 05:15 |
|
blakemizerany
| no concept of owner it git | 05:16 |
|
btipling
| ok so when I first created the local branch | 05:16 |
|
blakemizerany
| you can push from one machine to the other too | 05:16 |
|
btipling
| I did a checkout -b branchname | 05:16 |
| ← kimmie left | 05:16 |
|
btipling
| and I can merge it with master | 05:16 |
|
| on the original machine just fine | 05:16 |
|
| but if I do as you suggest will I be able to remove the git repo on my original machine | 05:16 |
|
| and then on the new machine merge and pull from master or rebase | 05:16 |
|
| as I would be able to on the original machine? | 05:17 |
| ← meanburrito920_ left | 05:17 |
| ← moconnor left | 05:17 |
|
btipling
| blakemizerany: thanks for your help by the way | 05: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 machine | 05:18 |
|
| a server sort of | 05:18 |
|
| kind of like in subversion | 05:18 |
|
| that is the origin master | 05:18 |
|
| my macbook is the original machine that first pulled in from this master | 05:18 |
|
| and on this macbook I created a new local branch and edited it | 05:19 |
|
| and have occaisionally rebased it with master | 05:19 |
|
| now I have a new machine, an ubuntu machine | 05:19 |
|
| this ubuntu machine also has a copy of this same repository from the central server | 05:19 |
|
| but it doesn't have the local branch that my macbook has | 05:19 |
|
| I would like to move my workflow over to the ubuntu machine | 05:20 |
|
| and be able to rebase merge etc just as I was able to on my macbook | 05: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 server | 05:21 |
|
| if one advances ahead of the other, I just rebase when I get to the other machine | 05:22 |
|
btipling
| hrm | 05:22 |
|
| ok so my ubuntu machine doesn't have the local branch and on my mac I pushed it with: git push origin branchname:branchname | 05:23 |
| ← abms1116 left | 05:23 |
|
btipling
| so from ubuntu I'd git pull origin branchname:branchname? | 05:23 |
|
| hrm | 05:23 |
|
blakemizerany
| btipling: http://gitcasts.com/posts/distributed-workflow | 05:23 |
|
btipling
| blakemizerany: sweet thanks | 05:23 |
|
blakemizerany
| that may help. just pretend you're playing the role of both developers | 05:23 |
|
btipling
| ok :) | 05:24 |
| ← Adlai`` left | 05:24 |
| ← kukks left | 05:25 |
| ← thomas__ left | 05:25 |
| → s0ber_ joined | 05:26 |
| → j416 joined | 05:26 |
| → juan_arandaalvar joined | 05:28 |
| → psankar joined | 05:28 |
| ← WALoeIII left | 05:29 |
| ← awx left | 05:30 |
| → moconnor joined | 05:30 |
| ← joevano left | 05:31 |
|
btipling
| that's kind of complex | 05:31 |
|
blakemizerany
| mugwump: so it looks like it's not finding the lock file.. it may be the vfs like you said | 05:32 |
| ← tansell-laptop left | 05:33 |
|
Ilari
| blakemizerany: Can you modify the source and drill down what fails? | 05:35 |
| → yarddog joined | 05:35 |
| yarddog → Guest98312 | 05:35 |
|
Ilari
| blakemizerany: Looks like either write_cache() or commit_locked_index() fails (builtin-read-tree.c) | 05:35 |
| → awx joined | 05:36 |
|
blakemizerany
| Ilari: I don't know if I'm that advanced. I can try. :) | 05:36 |
| → ArdRigh joined | 05: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 left | 05: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 mac | 05:40 |
|
| I want to fix it for mac too but I really need it for debian | 05:40 |
| ← btipling left | 05: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 triangulate | 05:41 |
| ← bdimcheff left | 05:42 |
| ← jfkw left | 05:42 |
|
Ilari
| blakemizerany: Useful first triangulation is write_cache() or commit_locked_index()? | 05:42 |
| → bdimcheff joined | 05:43 |
| → s0ber joined | 05:43 |
| ← bdimcheff left | 05:43 |
| ← s0ber_ left | 05: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 there | 05:44 |
| → rgs__ joined | 05: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 sec | 05:47 |
|
Ilari
| blakemizerany: From version I have, the code that needs to be modified is at end of builtin-read-tree.c | 05:49 |
|
blakemizerany
| ok | 05:49 |
| ← moconnor left | 05:49 |
|
blakemizerany
| I'm downloading 1.6.5.1 | 05:49 |
| → eck` joined | 05:49 |
| → moconnor joined | 05: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_ joined | 05:52 |
| ← patcito left | 05:52 |
| → ilteris__ joined | 05:54 |
|
Ilari
| blakemizerany: I.e. 'if(write_cache(...)) die(...); if(commit_locked_index(...)) die(...);' | 05:54 |
|
blakemizerany
| ah | 05:54 |
|
| Ilari: building | 05:57 |
| ← quentusrex left | 05:59 |
| → davey joined | 06:01 |
| ← flazz left | 06:01 |
| ← jrmuizel left | 06:01 |
| ← zjason left | 06:02 |
| → zjason joined | 06:02 |
| → kinja-sheep joined | 06:03 |
| → Pupeno joined | 06:04 |
| ← eck left | 06:04 |
|
blakemizerany
| Ilari: https://gist.github.com/a4c70c2402bebf7ec5d7 | 06:05 |
|
| that printing nothing | 06: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 fail | 06:06 |
|
| after ./configure of course | 06:06 |
| ← andy7534211 left | 06:06 |
|
blakemizerany
| sorry it's a little hard to read there.. I don't have tabs set and didn't realize right away | 06:06 |
| ← schmukkk left | 06:07 |
|
Ilari
| blakemizerany: So commit_index_file failed? | 06:08 |
| → hyperair joined | 06:08 |
|
blakemizerany
| I don't think the method I changed got called.. it never said "debug version!" | 06:08 |
| ← modsognir left | 06:08 |
| modsognir_ → modsognir | 06:08 |
| ← jmspeex left | 06:09 |
| → lresende joined | 06:09 |
|
Ilari
| blakemizerany: Check where it installed the binaries? | 06:09 |
|
| blakemizerany: And don't use ./configure | 06:10 |
|
blakemizerany
| I ran make clean | 06:10 |
| → patmaddox joined | 06:10 |
|
blakemizerany
| re-running make | 06:10 |
|
Ilari
| blakemizerany: 'make prefix=<somewhere>', 'sudo make prefix=<somewhere> install'. | 06:10 |
| ← moconnor left | 06:11 |
|
blakemizerany
| Ilari: as I wait.. I want to thank you for your help. I really appreciate it | 06:11 |
|
Ilari
| blakemizerany: Yes, the prefixes need to match. | 06:11 |
| → Pupeno_ joined | 06:11 |
| ← yhager_ left | 06: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 left | 06:12 |
| → tansell-laptop joined | 06:13 |
| Thell → Thell|Away | 06:15 |
| → eletuchy joined | 06:17 |
| ← wolog left | 06:18 |
|
blakemizerany
| Ilari: almost done.. I think | 06:18 |
| ← hyperair left | 06:20 |
| → hyperair joined | 06:20 |
| ← ilteris__ left | 06:21 |
| → elTigre joined | 06:23 |
| ← crbhome_ left | 06:24 |
| ← Pupeno left | 06:27 |
| Pupeno_ → Pupeno | 06:27 |
| ← hyperair left | 06:29 |
| ← scarabx left | 06:31 |
| → Axius joined | 06:31 |
| → galderz joined | 06:32 |
| → Darkas_ joined | 06:34 |
| ← davey left | 06:34 |
| ← a-atwood left | 06:35 |
| → a-atwood joined | 06:35 |
| → davey joined | 06:35 |
|
blakemizerany
| Ilari: ok. whew. done. I'm getting the "debug version!" now | 06:36 |
|
| "unable to write new index file" | 06:36 |
|
Ilari
| blakemizerany: Which one fails? | 06:36 |
|
blakemizerany
| Ilari: commit_locked_index | 06:36 |
|
Ilari
| blakemizerany: Next point of attack: commit_lock_file() and commit_locked_index() in lockfile.c. | 06:37 |
|
blakemizerany
| k | 06:37 |
| ← Theravadan left | 06:37 |
| → RobertMeta__ joined | 06:37 |
| ← RobertMeta_ left | 06:37 |
| ← agile left | 06: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
| ok | 06:38 |
|
Ilari
| blakemizerany: Note that you need to insert { } to block them correctly. | 06:38 |
| ← Axius left | 06: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 now | 06:41 |
| ← Darkas_ left | 06:41 |
| ← patmaddox left | 06:42 |
| ← hydrogen left | 06:42 |
| ← Guest26373 left | 06:42 |
|
Ilari
| blakemizerany: My guess. rename fails. | 06:43 |
|
blakemizerany
| Ilari: yeah. mine too. that is what dtruss was saying | 06:43 |
| → bousquet joined | 06:43 |
|
Ilari
| blakemizerany: Did it give error code too? | 06:43 |
|
blakemizerany
| Ilari: rename in commit_lock_file: No such file or directory | 06:43 |
|
| Ilari: yes. ENOENT | 06: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 |
|
| *why | 06:45 |
|
Ilari
| blakemizerany: Seeing the name of file it tried to rename but failed could be useful. | 06:46 |
|
blakemizerany
| Ilari: sinatra/.git/index.lock | 06:46 |
|
| Ilari: https://gist.github.com/19749b8330f8d14d433d | 06:46 |
| ← Adlai``` left | 06:47 |
| ← ben_h left | 06:47 |
| → Adlai``` joined | 06:48 |
| → cao joined | 06:50 |
|
Ilari
| blakemizerany: Can you show the trace from point where index.lock gets created? | 06:50 |
| cao → Guest79978 | 06:50 |
|
blakemizerany
| Ilari: I think so.. yes | 06:50 |
| → moconnor joined | 06:50 |
| → Weasel[DK] joined | 06:51 |
|
Ilari
| blakemizerany: BTW: I have seen weird behaviour when the current directory of process gets deleted... | 06:51 |
| → hyperair joined | 06:52 |
| ← Bass10 left | 06:56 |
|
blakemizerany
| Ilari: know a place I can dump a gz file for quick download? the raw trace was big | 06: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 left | 06:59 |
| ← davido left | 06:59 |
| ← r11t_ left | 06:59 |
| → r11t joined | 07:00 |
| → agile joined | 07: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 fail | 07:01 |
| ← davey left | 07: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=7eeadeb03ee76eafaa4b408fb297efe8 | 07:02 |
| ← hyperair left | 07:02 |
| → hyperair joined | 07:02 |
|
blakemizerany
| Ilari: I think that site is from the early '90's.. heh. wow | 07:04 |
| → juan_arandaalva1 joined | 07:05 |
| ← juan_arandaalvar left | 07:05 |
|
Ilari
| blakemizerany: I don't see index.lock renamed in that trace? | 07:06 |
| → sde_antrix1 joined | 07:06 |
|
blakemizerany
| see that gist above.. that was without the backtrace | 07:07 |
| ← methanol left | 07:07 |
| → methanol joined | 07: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 rename | 07:08 |
| → lucs_ joined | 07:10 |
|
Ilari
| blakemizerany: That trace has close failing with error 9 (its Bad File Number here). | 07:12 |
| qhoxie_ → qhoxie | 07:12 |
|
blakemizerany
| Ilari: any idea what would cause the bad file num? | 07:12 |
| → mjc joined | 07:13 |
|
Ilari
| blakemizerany: Ah, it's from sh. | 07:14 |
| → tetha joined | 07:14 |
|
blakemizerany
| Ilari: really? | 07:14 |
|
| Ilari: here is the script: http://github.com/bmizerany/fido/blob/work/bin/fido | 07:15 |
|
| Ilari: how do you figure? do you mind showing me what you see? I'm not great at reading those traces | 07:15 |
| → Aikawa joined | 07:15 |
|
Ilari
| blakemizerany: The part before the backtick looks like executable name. | 07:17 |
|
blakemizerany
| Ilari: before what backtick? | 07:17 |
| ← moconnor left | 07:17 |
| ← nighthwk1 left | 07:17 |
|
blakemizerany
| Ilari: here? http://github.com/bmizerany/fido/blob/work/bin/fido#L18 | 07:17 |
| ← gretch_ left | 07: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_ joined | 07: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 check | 07:20 |
| ← r11t left | 07:21 |
|
zomg
| ha, gotta love these commits that fix some svn oddity that happens because I commit stuff thru git :p | 07:23 |
| → bambule joined | 07: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 joined | 07:25 |
| → marc_m joined | 07:26 |
| ← zjason left | 07:26 |
| → zjason joined | 07:26 |
| ← davegb3 left | 07:28 |
| ← krawek left | 07:29 |
| ← lucs left | 07:30 |
| → ludde joined | 07:30 |
| → tango__ joined | 07:31 |
| ← Aikawa_ left | 07:31 |
| ← BlindOracle left | 07:32 |
| → drizzd joined | 07:32 |
| ← juan_arandaalva1 left | 07:33 |
| → patmaddox joined | 07:34 |
| → kingfishr joined | 07: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/sysctlbyname | 07:34 |
| → juan_arandaalvar joined | 07:34 |
| ← MetaCosm left | 07:35 |
| ← kinja-sheep left | 07:36 |
| → exg joined | 07:38 |
| ← tango_ left | 07:38 |
| → moconnor joined | 07:38 |
| → ben_h joined | 07:39 |
| ← hyperair left | 07:39 |
| → hyperair joined | 07:39 |
| → eck`` joined | 07:39 |
| → jmspeex joined | 07:40 |
| ← ankit9 left | 07:41 |
| VVSiz_ → VVSiz | 07:47 |
| ← moconnor left | 07:48 |
| → saurabhverma joined | 07:49 |
| ← bambule left | 07:50 |
| ← eck` left | 07:51 |
| ← johan-s left | 07:52 |
|
blakemizerany
| Ilari: I got it! | 07:53 |
| → eck``` joined | 07:53 |
|
blakemizerany
| Ilari: http://github.com/bmizerany/fido/blob/work/bin/fido#L27 | 07:53 |
|
| Ilari: I changed mkdir the worktree the cd to it before the init.. viola | 07:54 |
| → trochala joined | 07: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 joined | 07:55 |
|
blakemizerany
| Ilari: I have no idea why that was causing it though | 07:55 |
| → mcella joined | 07:57 |
| → yitz_ joined | 07:58 |
| ← bousquet left | 07:59 |
| → ikrabbe joined | 07: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 patch | 07:59 |
| → bousquet joined | 08:00 |
| → froschi joined | 08:00 |
| → wolog joined | 08:01 |
| → thiago_home joined | 08:01 |
| ← zjason left | 08:02 |
| → Axius joined | 08:03 |
| ← j416 left | 08:03 |
| ← dreiss left | 08:03 |
| → zjason joined | 08:06 |
| ← eck`` left | 08:07 |
| ← Axius left | 08:09 |
| ← jaysern left | 08: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 joined | 08:11 |
| przemoc86 → przemoc | 08:11 |
| → Tobin joined | 08:14 |
| → bigmack83 joined | 08:14 |
| → bigmack83_ joined | 08:14 |
| → giallu joined | 08:15 |
| ← bousquet left | 08:15 |
| tango__ → tango_ | 08:15 |
| → dsch04 joined | 08:16 |
| ← yitz_ left | 08: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 ok | 08:19 |
| → ikrabbe1 joined | 08:20 |
| ← Adlai``` left | 08:20 |
|
wereHamster
| ikrabbe: are you trying to dcommit? | 08:21 |
|
ikrabbe1
| no I'm trying to rebase to get it in sync | 08:21 |
|
| again | 08:21 |
| → ph^_ joined | 08:21 |
| → Adlai``` joined | 08:21 |
| ← ikrabbe left | 08:21 |
| ← stringo0 left | 08: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 6 | 08:24 |
|
| err, and 4. of course | 08:24 |
| ← zjason left | 08:25 |
|
ikrabbe1
| I though that would get me in line with the original svn repository again | 08:25 |
| → zjason joined | 08:25 |
| ikrabbe1 → ikrabbe | 08:26 |
| → ppawel joined | 08:27 |
|
ikrabbe
| maybe my main error was following step 4. rm -rf .git/svn | 08:28 |
|
| I hoped that it could be rebuild | 08:28 |
| ← eck``` left | 08:29 |
| → johan-s joined | 08:29 |
| ← zjason left | 08:30 |
| → zjason joined | 08:31 |
| → DavidKlein joined | 08:31 |
| ← DavidKlein left | 08:31 |
| → Vortex joined | 08: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 joined | 08:37 |
| → dpino joined | 08: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 master | 08:39 |
|
| since the other way round implies the origin owner has access to your local machine | 08:39 |
|
arialdo
| teuf: after I pushed, in the origin the owner will see another branch with my differences, right? | 08:41 |
| → zoniq joined | 08:41 |
|
arialdo
| teuf: and he will eventually merge to the origin/master. Am I right? | 08:41 |
|
teuf
| depends on how you push | 08:43 |
| → Dashkal joined | 08:43 |
|
arialdo
| teuf: Oh, I understand I have much more to study.... I studied the progit book, may be it's not enough | 08:43 |
| → DiaPo joined | 08:43 |
| → DocAl joined | 08:45 |
|
DocAl
| Hello | 08: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 own | 08:46 |
|
| and the "origin owner" fetches and merges stuff from this online repository as appropriate | 08:47 |
|
| at least this is how I generally work | 08: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 joined | 08:49 |
|
arialdo
| teuf: oh, I understand, that makes sense | 08:50 |
|
wereHamster
| DocAl: don't track big binary files ;) | 08:50 |
| → mattayers joined | 08:50 |
|
arialdo
| teuf: I asked you that because when I launch "git push origin master" I'm receiving a warning | 08:52 |
| ← thiago_home left | 08:52 |
| ← zjason left | 08:52 |
| → zjason joined | 08:53 |
|
arialdo
| teuf: with this message http://bin.cakephp.org/view/126828882 | 08:53 |
|
| teuf: which let me think I was doing something wrong.... | 08:53 |
| → Axius joined | 08:55 |
|
DocAl
| wereHamster: Can you suggest something that suits better for tracking such files? | 08:55 |
| → psoo joined | 08:56 |
|
DocAl
| wereHamster: Cause I can't just, you know, don't track them | 08:56 |
|
charon
| teuf: $faq non-bare | 08:57 |
|
Gitbot
| teuf: Pushing to non-bare repositories is discouraged. See http://git.or.cz/gitwiki/GitFaq#non-bare | 08:57 |
|
charon
| er, wrong address, sorry. arialdo ^ | 08:57 |
|
arialdo
| charon: you're welcome :) | 08:58 |
| → jnl joined | 08:58 |
| ← jnl left | 08:58 |
| → yeiugx joined | 08:58 |
|
arialdo
| charon: can you give me a help with that warning message? Where can I find more infos? | 08:58 |
| → jnl joined | 08:59 |
| ← jnl left | 08:59 |
|
charon
| arialdo: that warning is because you are pushing to the HEAD of a non-bare repository. read the FAQ entry for more info | 08: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 git | 08:59 |
|
| charon: I'm doing it, thank you! | 09:00 |
|
ikrabbe
| arialdo: try #man gittutorial | 09:00 |
|
Gitbot
| arialdo: the gittutorial manpage can be found at http://git.or.cz/man/gittutorial | 09:00 |
| → jnl joined | 09:01 |
| → tbf joined | 09:01 |
|
arialdo
| ikrabbe: thank you! And thank you everyone for the help you are giving on irc | 09: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/gitworkflows | 09:01 |
| ← Vortex left | 09:01 |
| → juan_arandaalva1 joined | 09:01 |
|
ikrabbe
| and then finally all the other man-pages ) | 09:01 |
| → engla joined | 09:01 |
|
arialdo
| charon: excellent! Thank you again | 09:01 |
| ← ereslibre left | 09:01 |
| ← juan_arandaalvar left | 09:02 |
| → shruggar joined | 09:02 |
| ← jmspeex left | 09:03 |
| → fluxusps joined | 09:05 |
| metze_away → metze | 09: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 symlinks | 09: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 often | 09:11 |
| ← Adlai``` left | 09:12 |
|
DocAl
| I track them in separate repo, but still it takes quite a while when I try to commit them | 09:12 |
| → Adlai``` joined | 09:12 |
|
doener
| DocAl: hm, committing or "git add"? | 09:13 |
|
DocAl
| doener: actually, I'm using git add . && git commit -a | 09: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 blobs | 09:15 |
|
DocAl
| doener: it there any better way, provided it should be done unattended? | 09:15 |
|
wereHamster
| commmit -m or -F | 09: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 pointless | 09:17 |
| ← froschi left | 09:17 |
| → girishr joined | 09:17 |
|
doener
| DocAl: but with which git version is that? Recent ones default to "best speed" compression for loose objects anyway | 09:17 |
| → jayne_ joined | 09:18 |
|
DocAl
| doener: 1.6.3 | 09:18 |
| ← jayne_ left | 09:18 |
|
doener
| DocAl: you could try to set core.loosecompression to 0 (no compression). But it's quite possible that you're IO-bound | 09: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 file | 09:22 |
| → j416 joined | 09:24 |
|
DocAl
| charon: Oh, I see, makes sense | 09:24 |
| ← fluxusps left | 09:26 |
| → aatanasov joined | 09:30 |
| ← ArdRigh left | 09: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 it | 09:33 |
|
doener
| in a single directory, or in some hierarchy? | 09:33 |
| ← Dashkal left | 09:34 |
| → evl joined | 09:34 |
|
DocAl
| in some hierarchy... i can provide you with some statistics on distribution, if it would help | 09:34 |
|
doener
| DocAl: not really, I guess. Unless it's 99k in one dir, and 1k in the others ;-) | 09:35 |
| ← juan_arandaalva1 left | 09:35 |
| → juan_arandaalvar joined | 09:36 |
|
DocAl
| I guess, there shouldn't be any single directory with more than 5k files in it | 09: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 left | 09:37 |
| → torben joined | 09:37 |
| → tono joined | 09:38 |
|
DocAl
| well, I've got vanilla ext3, as it ships with debian... dunno about dirindex, but it performs better than UFS | 09:38 |
| → gazra joined | 09:39 |
|
doener
| DocAl: sudo dumpe2fs /dev/whatever | grep dir_index | 09:39 |
| ← gazra left | 09:40 |
| → nikki93 joined | 09:41 |
| ← loincloth left | 09:41 |
|
nikki93
| Whaddya guys think of this comparision: http://www.stevestreeting.com/2009/11/06/dvcs-score-card/ ? | 09:41 |
| ← dsch04 left | 09: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 joined | 09: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 output | 09:43 |
|
DocAl
| yes, it has dir_index | 09: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 believe | 09:46 |
|
joeytwiddle
| wow doener, so it does :E | 09:46 |
| ← zjason left | 09: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 bit | 09:49 |
| → kraymer joined | 09:50 |
| ← ben_h left | 09:50 |
| → zjason joined | 09:52 |
| ← Adlai``` left | 09:52 |
| → Adlai``` joined | 09:52 |
| → disappearedng joined | 09: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=vim | 09:53 |
|
doener
| git config --global core.editor vim | 09:54 |
|
disappearedng
| thx | 09:54 |
|
| I tried googling that but to no avail | 09:54 |
|
doener
| git help config # Better than google, I guess | 09:55 |
| → omerj_ joined | 09:55 |
| → petrux joined | 09:56 |
| ← zjason left | 09:56 |
| → zjason joined | 09:57 |
| ← omerj_ left | 09:58 |
| → JEEB joined | 09:59 |
|
disappearedng
| haha thx anyway | 10:00 |
| ← patmaddox left | 10:02 |
| → d0k joined | 10:03 |
| → cenuij joined | 10:04 |
| ← omerj left | 10:05 |
| → froschi joined | 10:05 |
| → dsch04 joined | 10:07 |
| → tamm0r joined | 10:07 |
| → psynaptic joined | 10:09 |
| ← DocAl left | 10:09 |
| → gazra joined | 10:10 |
| ← eletuchy left | 10:11 |
| → eletuchy joined | 10:12 |
| → rettub joined | 10:13 |
| ← tg left | 10:13 |
| ← eletuchy left | 10:14 |
| → tg joined | 10:14 |
| ← tg left | 10:14 |
| ← aliceinwire_ left | 10:15 |
| ← juan_arandaalvar left | 10:17 |
| → ankit9 joined | 10:17 |
| → ToxicFrog` joined | 10:19 |
|
dsop
| is there a way to get the last tag name from a certain commit, without the abbrev format? | 10:19 |
| → tg joined | 10:20 |
|
tango_
| dsop: you mean like git describe? | 10:21 |
| ← ToxicFrog left | 10:22 |
|
dsop
| ah found git describe --abbrev=0 --tags | 10:22 |
| stuffcor1se → stuffcorpse | 10:23 |
| ← froschi left | 10:27 |
| ← solofight left | 10:29 |
| ← dwmw2_gone_ left | 10:30 |
| → SRabbelier joined | 10:31 |
| ← yaotti left | 10: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 left | 10:33 |
|
tango_
| werdnativ: git rm filename | 10:34 |
| ← countd left | 10:34 |
|
werdnativ
| that was easy... I was trying all sorts of reset/checkout! | 10:35 |
| ← Akufen left | 10:38 |
| ← s0ber left | 10: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 left | 10:44 |
| ← leachbj_ left | 10:45 |
| ← Axius left | 10:46 |
| ← ToxicFrog` left | 10:46 |
|
doener
| tamm0r: with git svn, you'll want to use "git svn rebase". | 10:46 |
| → fluxusps joined | 10:46 |
| ← girishr left | 10:47 |
| → s0ber joined | 10:47 |
| → cenuij joined | 10:47 |
| → girishr joined | 10:49 |
|
tamm0r
| doener: does rebase apply upstream changes to all branches? or only to the branch I'm currently working in? | 10:49 |
| → froschi joined | 10: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 out | 10:50 |
|
| tamm0r: and rebase re-applies _your_ changes on top of the new upstream, not the other way around | 10:51 |
| → ToxicFrog joined | 10:51 |
|
doener
| tamm0r: otherwise, you would rewrite upstream's history | 10:51 |
|
tamm0r
| doener: that makes sense... can't wait to try this out :-) | 10:52 |
| → pti joined | 10:53 |
|
tamm0r
| doener: thanks a lot! | 10:53 |
| → SAHarvey joined | 10:53 |
|
doener
| you're welcome | 10: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 +x | 10:55 |
|
SAHarvey
| doener: Yup, I've done that | 10:55 |
| → ntoll joined | 10: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 joined | 10:56 |
|
SAHarvey
| Inside the post-receive file I'm echoing some text. I assume this would be outputted if it were working | 10:56 |
|
doener
| SAHarvey: yup, the "git push" process should output that text | 10:57 |
|
| SAHarvey: mind pastebinning the script? | 10:57 |
| ← froschi left | 10:57 |
| → greenfox joined | 10:58 |
|
SAHarvey
| http://pastebin.com/d766ee553 | 10:58 |
| → yaotti joined | 10:59 |
|
SAHarvey
| I can execute the script from the command line and it works as expected | 10:59 |
| ← galderz left | 10:59 |
| → Yuuhi joined | 11:02 |
|
doener
| SAHarvey: which git version is on the box you're pushing to? | 11:02 |
|
SAHarvey
| git version 1.5.5.6 | 11:02 |
|
| locally I have: git version 1.6.0.4 | 11:02 |
|
doener
| new enough for post-receive | 11:03 |
|
| (it's there since 1.5.1) | 11:03 |
| → dwmw2_gone_ joined | 11: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 executed | 11: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 run | 11:07 |
|
SAHarvey
| $ git push | 11:07 |
|
| Everything up-to-date | 11:07 |
|
| That's what I'm seeing | 11:07 |
|
doener
| there we go. | 11:07 |
|
| Nothing push => no hook being run | 11:08 |
|
| s/push/pushed/ | 11:08 |
| ← pti left | 11: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/d1d2c25af | 11:12 |
| → pti joined | 11:12 |
| → froschi joined | 11:12 |
|
doener
| SAHarvey: partially. I guess vs123.server.com from the hook is actually vs9058.bluebox... from the push output? | 11:14 |
| → solofight joined | 11:14 |
|
doener
| SAHarvey: if so, it's kind of weird that you ssh to the same box again in the hook | 11: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 command | 11:15 |
|
SAHarvey
| doener: On the server I have the git repository as well as another cloned version of the repository used for my ticketing system | 11: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 wrong | 11: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 side | 11:17 |
|
SAHarvey
| ah right, let me give that a shot | 11:18 |
| Adlai``` → Adlai | 11:20 |
| ← ikrabbe left | 11:21 |
| ← ntoll left | 11:23 |
| → Axius joined | 11:23 |
|
SAHarvey
| doener: The post-receive hook is now being run as expected. Thanks for sorting that one out for me | 11:24 |
| ← girishr left | 11:25 |
| → girishr joined | 11:25 |
| → icwiener joined | 11:27 |
| ← hugoxrosa left | 11:29 |
| ← upul left | 11:31 |
| ← jinzhu left | 11: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/d423d0a91 | 11:32 |
|
doener
| SAHarvey: ah, the hooks run with GIT_DIR set to . | 11:32 |
|
| SAHarvey: just unset that | 11:33 |
|
| SAHarvey: for safety, you'll also want to unset GIT_WORK_TREE | 11:33 |
| ← d0k left | 11:34 |
| → s0ber_ joined | 11:35 |
| → jschoolcraft joined | 11:35 |
| ← yaotti left | 11:35 |
|
SAHarvey
| doener: That's works perfect now. Thanks again for all the help | 11:36 |
| ← greenfox left | 11:37 |
| ← saurabhverma left | 11:38 |
| ← s0ber left | 11:38 |
| → ntoll joined | 11:38 |
| ← crazychenz left | 11:39 |
| ← SAHarvey left | 11:40 |
| → ikrabbe joined | 11:40 |
| → mcella_ joined | 11:44 |
| ← riz2 left | 11:47 |
| ← stepnem left | 11:49 |
| → stepnem joined | 11:49 |
| → ehabkost joined | 11:50 |
| ← mcella left | 11:50 |
| → Grahack joined | 11:50 |
| ← girishr left | 11:51 |
| → girishr joined | 11:51 |
| m-takagi → m-takagi_ | 11:52 |
| ← stepnem left | 11:55 |
|
ikrabbe
| looks much more easy to do a chroot but using git-shell | 11:55 |
| → stepnem joined | 11:55 |
| ← doener left | 11:57 |
| → __iron joined | 11:58 |
| → lorandi joined | 11:59 |
| ← __iron left | 12:00 |
| ← ehabkost left | 12:00 |
| → doener joined | 12:01 |
| ← solofight left | 12:03 |
| ← cenuij left | 12:04 |
| → caio joined | 12:04 |
| → tasslehoff joined | 12: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 left | 12:07 |
| → kiuma joined | 12: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 joined | 12:07 |
|
kiuma
| hello, how can I simply type `git push` instead of `git push origin master` ? | 12:07 |
| → flazz joined | 12:10 |
| ← flazz left | 12:11 |
| → flazz joined | 12:11 |
| → ehabkost joined | 12:11 |
| → parasti joined | 12: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_ joined | 12:14 |
|
caio
| kiuma: try to configure with git config push.default current | 12:15 |
|
kiuma
| caio, thanks | 12:17 |
| ← stepnem left | 12:18 |
| → stepnem joined | 12:18 |
| → tvw joined | 12:20 |
| → ben_h joined | 12:21 |
| ← Grahack left | 12:23 |
| ← stepnem left | 12:23 |
| → bibinou joined | 12:23 |
| → stepnem joined | 12:24 |
| ← stepnem left | 12: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 gitignore | 12:28 |
|
caio
| like git update-index --assume-unchanges | 12:28 |
| → saurabhverma joined | 12:28 |
|
zomg
| Not sure if it's already tracked | 12:28 |
|
caio
| yes, it's tracked, but it's a database configuration file | 12:28 |
|
| that I don't need to update anymore (in remote server) | 12:29 |
|
| other solution for this? | 12:29 |
| ← Tobin left | 12:29 |
| dwmw2_gone_ → dwmw2 | 12:29 |
| → corni joined | 12:30 |
|
caio
| I need this file to be pushed just when I specify | 12:30 |
| ← nikki93 left | 12: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 it | 12:32 |
|
| if it is unchanged, keeping it tracked over a long time won't increase the repo size | 12:32 |
| → stepnem joined | 12: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/e | 12:33 |
|
caio
| so I need some specific configuration for running in remote server | 12:33 |
| → vbgunz__ joined | 12: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 branch | 12: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 joined | 12:36 |
|
j416
| of course, this needs your changes in the "settings branch" to be clean enough to not generate much conflicts | 12:36 |
|
| hopefully no conflicts at all | 12:36 |
|
| (if you keep settings and such separated) | 12:36 |
| ← blakemizerany left | 12:37 |
|
caio
| for my case, git update-index --assume-unchanged works, but It's not permanent. :( | 12:38 |
| → galderz joined | 12:39 |
| ← girishr left | 12:39 |
| ← ehabkost left | 12:39 |
| ← EricInBNE left | 12:39 |
| → maleknet joined | 12:40 |
| → girishr joined | 12:41 |
| → cjs_ joined | 12:42 |
|
ikrabbe
| cairo: why don't you git rm --cached FILE && echo FILE >> .gitignore | 12:42 |
|
| that should work I think | 12:43 |
| → d1b joined | 12:43 |
| → Adlai` joined | 12:43 |
| cjs_ → cjs | 12:44 |
| ← lorandi left | 12: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 joined | 12:45 |
|
caio
| ikrabbe: because it will remove the file from the remote repository :S | 12:45 |
| → ehabkost joined | 12:45 |
|
cjs
| Maybe it works for init, but not clone? | 12:46 |
|
| Crap, that's it. | 12:46 |
| ← Adlai left | 12:46 |
| Adlai` → Adlai | 12:46 |
| → jrmuizel joined | 12:46 |
| ← bibinou left | 12:49 |
| ← saurabhverma left | 12:49 |
| ← kraymer left | 12:49 |
|
cjs
| Or I guess it must be fetch, not init. | 12:49 |
| → Hendu joined | 12:49 |
| → bibinou joined | 12:49 |
| → artefon joined | 12:49 |
| ← girishr left | 12:50 |
| ← artefon left | 12: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 left | 12:52 |
| → ia joined | 12:53 |
|
Ilari
| cjs: Mailing list. | 12:53 |
|
cjs
| What's the list address? | 12:54 |
|
Ilari
| [email@hidden.address] | 12:57 |
| ← LRN left | 12:57 |
| ← j416 left | 12:58 |
| → bvolvo joined | 12:59 |
|
cjs
| Just to make sure, is that the appropriate place for git-svn bugs? | 12:59 |
| ← gordonjcp left | 13:00 |
| → voker57 joined | 13:02 |
|
Ilari
| cjs: AFAIK, it is. | 13:03 |
| ← psynaptic left | 13:07 |
| → yaotti joined | 13:07 |
|
cjs
| Ok, but report sent. | 13:09 |
| ← kpreid_ left | 13:09 |
|
cjs
| (I expect it may get held for moderation, as I'm not subscribed to that list.) | 13:09 |
| ← arialdo left | 13:10 |
| ← stuffcorpse left | 13:10 |
| ← J13R left | 13:10 |
|
charon
| cjs: afaik there's no moderation, but the greylisting can take a while | 13:11 |
| → psynaptic joined | 13:11 |
|
cjs
| What's the command to pack things in the repo? | 13:12 |
| → leanucci joined | 13: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 gc | 13: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 joined | 13: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 joined | 13:18 |
|
charon
| cjs: gc is "always" safe; the only thing that you can lose with it are old unreachable objects | 13: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 left | 13: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 joined | 13:24 |
| → ankit9_ joined | 13:24 |
| ← ankit9_ left | 13:24 |
| ← kiuma left | 13: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 machines | 13:25 |
| ← cenuij left | 13: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 left | 13:27 |
| → tbuehlmann joined | 13:27 |
| → hydrogen joined | 13: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 ubuntu | 13:27 |
| → cenuij joined | 13:27 |
|
coteyr
| I did downgrade to 1.6.0.x and got the same error | 13: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-out → tstclair | 13:29 |
|
coteyr
| and there both just default anyways | 13:29 |
| ← hummingkid left | 13:30 |
|
tamm0r
| coteyr: downgrade ubuntu? (just kidding ;) | 13:30 |
| → lucsky joined | 13: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 joined | 13:33 |
| → intripoon joined | 13:33 |
| → chty joined | 13:33 |
| ← tasslehoff left | 13:33 |
| ← deavid left | 13:34 |
| → bdimcheff joined | 13:34 |
| → kpreid_ joined | 13:34 |
| → meanburrito920_ joined | 13:36 |
| → cyclist joined | 13:36 |
| ← freerobby left | 13:36 |
| → deavid joined | 13:36 |
| ← wagle_home left | 13:37 |
| → Messi joined | 13:37 |
|
Messi
| juego de boxeo online http://www.kobox.org/kobox-fande-Nourine.html | 13:38 |
| ← Messi left | 13:38 |
| → gasbag joined | 13:38 |
| ← steveire left | 13:41 |
| ← hydrogen left | 13:42 |
| ← bdimcheff left | 13:42 |
| → steveire joined | 13:43 |
| ← ctusar left | 13:43 |
| → j416 joined | 13:43 |
| ← flazz left | 13:43 |
| → flazz joined | 13:44 |
| ← kpreid_ left | 13:46 |
| → matthewford joined | 13:46 |
| ← bartocc left | 13:46 |
| ← flazz left | 13: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 left | 13:48 |
|
chty
| (my git version is 1.6.5) | 13:48 |
| ← maleknet left | 13:49 |
| → mm_work joined | 13:49 |
| ← jrmuizel left | 13:51 |
| → girishr_ joined | 13:53 |
| → wagle_home joined | 13:53 |
| ← DiaPo left | 13:53 |
|
coteyr
| llari; tried that but it still fails | 13:54 |
|
| trying to access it over a git protocall | 13:54 |
|
| if that works we know it's an ssh problem | 13: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 wonderful | 13:55 |
|
| llari, one sec | 13:55 |
| ← coteyr left | 13:56 |
| ← gasbag left | 13:56 |
| → jfkw joined | 13:57 |
| ← cyclist left | 13:57 |
| → coteyr joined | 13:58 |
|
coteyr
| Read from remote host github.com: Connection timed out/s | 13:58 |
|
| fatal: The remote end hung up unexpectedly | 13:58 |
|
| fatal: early EOF | 13:58 |
|
| fatal: index-pack failed | 13:58 |
| → sdboyer joined | 13:58 |
| → aresnick joined | 13:59 |
| ← Yuuhi left | 13:59 |
|
coteyr
| that happens during reciving objects | 13:59 |
| → seezer joined | 13:59 |
|
Ilari
| coteyr: grepping git source yields no matches for 'from remote host'. Presumably that error comes from ssh client. | 14:00 |
| ← engla left | 14:00 |
| → johnnyg joined | 14:00 |
|
Ilari
| coteyr: And in ssh://, git doesn't open any connections directly. | 14:00 |
| ← johnnyg left | 14:00 |
|
coteyr
| llari, right which is why I would guess that the problem is ssh related. | 14:01 |
| ← bibinou left | 14: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 joined | 14:02 |
| → bibinou joined | 14:02 |
| m-takagi_ → m-takagi | 14: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 left | 14:02 |
| → gazra_ joined | 14:02 |
| ← girishr_ left | 14:02 |
| → kpreid_ joined | 14: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 how | 14:05 |
| ← robinsmidsrod left | 14: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 joined | 14:07 |
|
Ilari
| coteyr: There is heavy data transfer going on during that pass. | 14:07 |
| ← PerlJam left | 14:08 |
| → PerlJam joined | 14: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 transfer | 14:09 |
|
| and I am seeing that | 14:09 |
|
| network usage rises like it should | 14:10 |
|
Ilari
| coteyr: Also, approximately how much time passes from those transferred numbers stopping increasing to when it times out? | 14:10 |
|
coteyr
| none | 14:10 |
|
| i get to 26% (or there about) then instant drpo | 14:10 |
|
| a "real" time out would have lag | 14: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 left | 14:12 |
|
coteyr
| k let me whip something up real fast for verbose ssh tunneling | 14:13 |
| → jrmuizel joined | 14:13 |
|
Ilari
| coteyr: Just make sure it doesn't output anything to stdout or its going to screw things. | 14:14 |
| ← kpreid_ left | 14:15 |
| → kpreid_ joined | 14:15 |
| → reprore joined | 14:16 |
| ← PN left | 14:17 |
| → maravillas joined | 14:17 |
| ← bibinou left | 14:19 |
| → sagsousuke joined | 14:19 |
| ← gazra left | 14:19 |
| → emil joined | 14:19 |
| → bibinou joined | 14:19 |
| → jkacur_ joined | 14: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 easy | 14:20 |
|
coteyr
| git works well with php | 14:20 |
|
| and aside for this problem I'm having, should sync your files to a staging/dev server quite well | 14:21 |
| ← minaguib left | 14:21 |
|
coteyr
| with a manual push to production (or automatic if you like living dangeriously) | 14:21 |
| → arekm joined | 14:22 |
|
coteyr
| either set the prod/dev server to pull on intervals or use a post-commit hook | 14: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 pull | 14: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 left | 14:23 |
| ← psycovic left | 14:23 |
|
arekm
| Ilari: git fsck --full did nothing. no output and still git thinks that repo is empty | 14:24 |
| → ctusar joined | 14: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 changes | 14:25 |
|
arekm
| Ilari: yes, empty | 14: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 lol | 14:26 |
| ← jkacur_ left | 14:26 |
|
arekm
| Ilari: lol! -rwxr-xr-x 98 root root 0 10-28 16:12 /usr/bin/git | 14:27 |
| → blueHandTalking joined | 14: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 out | 14:27 |
|
| ssh doesn't even fail when connecting to a host that doesn't exist any more | 14:28 |
| Thell|Away → Thell | 14:28 |
|
arekm
| Ilari: no idea but well, it did | 14:28 |
|
Ilari
| arekm: Ah, shell. | 14:28 |
| → freerobby joined | 14:30 |
| ← GarethAdams|Work left | 14:31 |
| → futoase joined | 14:31 |
| → Grahack joined | 14:33 |
| → tlb joined | 14:34 |
| → gitte joined | 14:35 |
| ← jrmuizel left | 14:37 |
| → Tommy[D]_ joined | 14:39 |
| → altrux joined | 14:40 |
| ← arekm left | 14:42 |
| ← meanburrito920_ left | 14:42 |
| → spearce joined | 14: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 fine | 14:43 |
| ← freerobby left | 14:43 |
| ← bigmack83_ left | 14:44 |
| ← bigmack83 left | 14: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 left | 14:45 |
|
Ilari
| coteyr: Git handles git:// internally (including doing the socket connections). | 14:47 |
| → schmukkk joined | 14:47 |
|
coteyr
| llarri; good point | 14:47 |
|
| i need a private non-git repo to test on lol | 14:48 |
| → TeckniX joined | 14:48 |
|
coteyr
| non-github | 14:48 |
| ← dunolie left | 14:48 |
| → Sjors joined | 14:49 |
|
Sjors
| Hi | 14:49 |
| → navvywavvy joined | 14:49 |
|
Sjors
| I'm working on a project with a friend of mine, we both have a clone of a central repository | 14:51 |
| ← maravillas left | 14: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 fine | 14: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 repository | 14:51 |
|
coteyr
| git clone [email@hidden.address] | 14:52 |
|
| that is ssh protocal | 14: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 megs | 14:52 |
|
Sjors
| now the commits seem to be pushed, on his machine, but they don't seem to be used yet | 14:52 |
|
coteyr
| llari; privet server is at slice host (over internet) | 14:52 |
| ← a-atwood left | 14:53 |
|
Sjors
| maye the commits are there, but he doesn't see them | 14:53 |
| → a-atwood joined | 14: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 network | 14:54 |
| → girishr joined | 14:54 |
|
Ilari
| Sjors: $faq non-bare | 14:54 |
|
Gitbot
| Sjors: Pushing to non-bare repositories is discouraged. See http://git.or.cz/gitwiki/GitFaq#non-bare | 14: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 left | 14:55 |
| → Mezner joined | 14:55 |
| → jmspeex joined | 14:56 |
| ← Lisimba left | 14:56 |
| → drubies joined | 14:56 |
| → Darkas joined | 14:58 |
| ← Axius left | 14:59 |
| ← uau left | 15:01 |
| ← rchavik left | 15:01 |
| → ciskje joined | 15:02 |
| → JoeConyers joined | 15:02 |
| → dunolie joined | 15:02 |
| → ankit9_ joined | 15:03 |
| ← Grahack left | 15:04 |
| → uau joined | 15:04 |
| ← ankit9_ left | 15:05 |
| ← a-atwood left | 15:06 |
| → a-atwood joined | 15:06 |
| → cannonball joined | 15:08 |
| ← evl left | 15:10 |
| → yaotti joined | 15:12 |
| ← jakob left | 15:13 |
| → jakob joined | 15:13 |
| → riz2 joined | 15:14 |
| ← yaotti left | 15:16 |
| → bdimcheff joined | 15:16 |
| ← j416 left | 15:16 |
| ← selckin left | 15:17 |
| → nsussman joined | 15:18 |
| → yaotti joined | 15:20 |
| → jrmuizel joined | 15:22 |
| ← jakob left | 15:22 |
| ← methanol left | 15:25 |
| → loincloth joined | 15:25 |
| → jakob joined | 15:26 |
|
coteyr
| ok heres a eaiser question | 15:27 |
| ← brendon_work left | 15: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 sync | 15:28 |
|
| so should I fork or branch | 15:29 |
|
| neither is a 100% perfect fit | 15:29 |
| → madewokherd joined | 15: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 website | 15:31 |
| → suman joined | 15:31 |
|
doener
| common changes go to the main branch, which gets merge to the per-site branches | 15:31 |
| → jstephenson joined | 15:34 |
| → psynaptic joined | 15:34 |
| → Mezner01 joined | 15:35 |
| ← Mezner left | 15:36 |
| Mezner01 → Mezner | 15:36 |
| → Turias joined | 15:39 |
| → tedoc2000 joined | 15: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.html | 15:43 |
| → froschi joined | 15:45 |
| → pelle_ joined | 15:45 |
| ← tedoc2000 left | 15:46 |
| → javatexan joined | 15:46 |
|
coteyr
| doener; only real diffrence is intention I guess | 15:46 |
| → tedoc2000 joined | 15:46 |
| ← tedoc2000 left | 15:47 |
| → tedoc2000 joined | 15: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 joined | 15: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 sync | 15:49 |
|
| a bit overly simplified but you get the point | 15: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_ left | 15: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 left | 15:52 |
| → leanucci_ joined | 15:53 |
| ← psankar left | 15: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 joined | 15:53 |
| ← sverrej left | 15:54 |
| ← kpreid_ left | 15:54 |
| → balint joined | 15: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 joined | 15:58 |
| → hummingkid joined | 15:58 |
| → paltman joined | 15:58 |
| → kpreid_ joined | 16:00 |
| → r11t joined | 16:00 |
| → dirk2 joined | 16:01 |
| → leanucc__ joined | 16:01 |
| ← abms1116 left | 16:01 |
| ← leanucci left | 16:02 |
| ← DavidKlein left | 16:05 |
| → DavidKlein joined | 16:05 |
| ← pelle_ left | 16:06 |
| ← leanucci_ left | 16:07 |
| → Grahack joined | 16:08 |
| rfay_afk → rfay | 16:08 |
| leanucc__ → leanucci | 16:11 |
| → brendon_work joined | 16:12 |
| → hobodave joined | 16:14 |
| → State joined | 16:15 |
| → patmaddox joined | 16:16 |
| → patcito joined | 16:16 |
| → juan_arandaalvar joined | 16:17 |
|
coteyr
| thanks cjs; thats basically what I was thinking of my self. | 16:18 |
| ← coteyr left | 16: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 scm | 16: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 archive | 16:19 |
|
| There doesn't appear to be a .git folder in the uploaded archive | 16:20 |
|
| Should there be? I thought I had followed this same process on another server | 16:20 |
| → Sephi-Chan joined | 16:21 |
|
Sephi-Chan
| Hi | 16: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 .git | 16: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 update | 16:21 |
| ← paltman left | 16:21 |
|
Sephi-Chan
| It's in my remote repository | 16:21 |
|
State
| charon: bare repository, sorry | 16:21 |
|
| charon: I used git init --bare locally | 16: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 helps | 16: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: *folder | 16:22 |
|
charon
| State: usually you'd make a clone with 'git clone $url'. checkout is something else in git | 16: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 pull | 16:23 |
|
Sephi-Chan
| What can i do when i have a message like <file> need update ? | 16:24 |
|
| (to update it) | 16:24 |
| → bigmack83 joined | 16: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 left | 16:25 |
|
State
| charon: Thanks. That helps | 16:25 |
|
Sephi-Chan
| hmm | 16:25 |
| → Lisimba joined | 16:25 |
| ← wolog left | 16: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 workflow | 16:26 |
|
cjs
| Sephi-Chan: are you perhaps an SVN/CVS user just getting started with Git? | 16:26 |
| → Haarg joined | 16:27 |
| ← aatanasov left | 16:27 |
|
Sephi-Chan
| Exactly | 16:27 |
|
State
| cjs: Thanks. that does help. I came from SVN - maybe that's obvious. | 16:27 |
|
Sephi-Chan
| i sued SVN | 16:27 |
|
State
| thanks! | 16:27 |
| → kukks joined | 16:27 |
|
Sephi-Chan
| used* | 16:27 |
| ← State left | 16: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 repo | 16: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 it | 16:27 |
|
charon
| murr4y: or the writers of guides who think "svn update" maps to "git pull", for that matter | 16: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 copy | 16: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_ left | 16: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 joined | 16: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
| hm | 16: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
| ok | 16: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 left | 16:32 |
| ← qhoxie left | 16: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 merging | 16: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 SVN | 16: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 project | 16: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 joined | 16:35 |
|
Sephi-Chan
| my problem is git only, i don't have the basics with git | 16: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 :p | 16:37 |
|
| When i used a VCS, it was just basic commit/update | 16: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
| Yep | 16:39 |
| ← sh1mmer left | 16:39 |
|
Sephi-Chan
| So in my remote copy (the production one), i cannot merge correctly | 16: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 again | 16:40 |
|
cjs
| To be pedantic, you don't merge in your remote copy. | 16:40 |
| → mbroeker joined | 16:40 |
|
cjs
| Yes, exactly. | 16:40 |
|
Sephi-Chan
| with SVN, i delete the file then fire an update but with git ? :x | 16:40 |
| → Haaarg joined | 16: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 joined | 16:41 |
| → smuf joined | 16:41 |
| → cubuanic joined | 16:41 |
| ← balint left | 16: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 joined | 16:43 |
| ← blueHandTalking left | 16:43 |
| → drewolson joined | 16:43 |
|
Sephi-Chan
| hmm | 16: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.ext | 16:44 |
|
cjs
| (Git folks, correct me if this workflow isn't reasonable.) | 16:44 |
| ← gitte left | 16:44 |
|
Sephi-Chan
| the stash | 16:44 |
|
charon
| cjs: reasonable or not, your use of HEAD is so svn-ish that i fear it will only further confuse him | 16:44 |
|
Sephi-Chan
| In fact, i already push my local changes to the server | 16:45 |
| → LiamH joined | 16: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 left | 16:45 |
|
cjs
| charon: Well, I'm sort of assuming he's familiar with svn workflow here.... | 16:45 |
| ← Haarg left | 16:45 |
| → kiuma joined | 16: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
| Yep | 16:46 |
| ← tamm0r left | 16:46 |
|
Sephi-Chan
| It's the pull which is fucked | 16:46 |
|
cjs
| Sephi-Chan: do you have changes in your working copy? | 16:46 |
|
Sephi-Chan
| Yep | 16: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 update | 16: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 files | 16:47 |
|
kiuma
| sig! from my laptop I committed the I did `git push` -> Everything up-to-date | 16:47 |
|
| charon cries quietly | 16: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 quietly | 16:48 |
| → Yuuhi joined | 16: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
| Ok | 16:48 |
| → paltman joined | 16:49 |
|
Sephi-Chan
| So, i should discard these changes | 16:49 |
| ← icwiener left | 16: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 left | 16:49 |
| ← matthewford left | 16:50 |
|
Sephi-Chan
| Ok, but i donc want to keep these changes on my 2 files | 16:50 |
|
| It was temporary | 16:50 |
|
cjs
| Sephi-Chan: Oh, in that case, just reset. | 16:50 |
| ← mastro left | 16:50 |
| → matthewford joined | 16: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 joined | 16: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
| hm | 16: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 version | 16: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 -- filename | 16:53 |
| ← hyperair left | 16:53 |
|
kiuma
| charon, `git pull origin master` does the same (ie no update) | 16:53 |
|
cjs
| kiuma: No, no, no.... | 16:53 |
| ← bigmack83 left | 16:53 |
|
kiuma
| cjs, so what? please help me | 16:53 |
|
Sephi-Chan
| the repo i pull from is clean | 16: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 left | 16:54 |
|
Sephi-Chan
| but i want to restore my production repo to the same state as the bare repo | 16:54 |
| ← nkuttler left | 16: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
| hm | 16:56 |
| → jlilly joined | 16: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 puching | 16:56 |
| → rolfb joined | 16:56 |
|
kiuma
| *pushing | 16:56 |
| → ToxicFrog joined | 16:57 |
| → dreiss joined | 16:57 |
|
kiuma
| when I call (git clone the repo) there are no updates | 16: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 left | 16:58 |
| ← patmaddox left | 16:58 |
|
Sephi-Chan
| cjs Ok it works | 16: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 repo | 16:59 |
|
| then i pull again | 16:59 |
| ← zoonfafer left | 17: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
| Nop | 17:00 |
|
| The production repo is one of the clone of my bare repo | 17:00 |
| → gzy joined | 17:00 |
|
Sephi-Chan
| It's on my production server (the website is online) | 17:00 |
| → sandberg_ joined | 17:00 |
| ← matthewford left | 17:00 |
|
cjs
| A third repo? Ok. It's a sensible setup. | 17:00 |
|
Sephi-Chan
| Hmm | 17:00 |
|
| I have a development repo, a production one | 17:01 |
|
| and then THE bare repo | 17:01 |
| → matthewford joined | 17:01 |
| ← zoniq left | 17:01 |
| → adamtanner joined | 17:02 |
| → wolog joined | 17:02 |
| ← PupenoG left | 17: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
| Hmm | 17:03 |
|
| I think my terminology is wrong | 17:03 |
|
| i have two "working copies" : development and production | 17:03 |
| → dwtwjw joined | 17:03 |
| → jceb joined | 17:03 |
|
Sephi-Chan
| and a bare repo | 17: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 gc | 17: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 left | 17:04 |
| → mattions joined | 17: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 that | 17:06 |
| → sh1mmer joined | 17: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 left | 17:07 |
| ← kpreid_ left | 17: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__ left | 17: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 left | 17:08 |
| ← aresnick left | 17:09 |
| ← cxvii left | 17:09 |
| adamtanner → cxvii | 17: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 joined | 17:11 |
| ← ikrabbe left | 17: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 pull | 17:12 |
| ← cxvii left | 17: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 squash | 17:12 |
| ← tvw left | 17:12 |
|
LiamH
| Griffon26: I don't follow. Revert fixes? | 17:13 |
|
kristian42
| zenior42 | 17: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 in | 17:14 |
|
cjs
| Sephi-Chan: you have two local copies: the "HEAD" in your repo, and your working copy. | 17:15 |
|
Sephi-Chan
| production one | 17:15 |
| → robinsmidsrod joined | 17:15 |
|
Sephi-Chan
| I think it's possible to show what i will pull | 17: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 VCS | 17: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 altogether | 17:15 |
| → fualo_ joined | 17: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
| yep | 17:17 |
| → s0ber joined | 17: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 them | 17: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
| hmm | 17:20 |
|
| i'm in my production repo | 17: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 files | 17:21 |
| ← sde_antrix1 left | 17:21 |
| ← psoo left | 17:21 |
| → omerj_ joined | 17: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
| hmm | 17:22 |
|
| yes | 17:22 |
| → trochala` joined | 17: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
| hm | 17: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 joined | 17: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 left | 17:26 |
| → icwiener joined | 17:26 |
| ← marc_m left | 17:26 |
|
Griffon26
| cjs: and why can't he just use the remote to diff against? | 17:26 |
| → futoase joined | 17: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 xD | 17: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 left | 17: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 joined | 17: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 di | 17: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 branch | 17:28 |
|
cjs
| Griffon26: Hmm. Ok. I think I get it. | 17:29 |
| ← Tommy[D]_ left | 17:29 |
| ← rolfb left | 17:29 |
| ← cannonball left | 17:29 |
| ← agrippa left | 17:29 |
| ← samjam left | 17:29 |
| ← capnkernul left | 17:29 |
| ← charlls left | 17:29 |
| ← Mizar-jp left | 17:29 |
| ← agib left | 17:29 |
| ← s0ber_ left | 17: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_ joined | 17:29 |
|
Griffon26
| I didn't get what you're saying in that last part | 17:30 |
| → tom34567 joined | 17: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 left | 17:31 |
| → rolfb joined | 17:31 |
| → cannonball joined | 17:31 |
| → agib joined | 17:31 |
| → capnkernul joined | 17:31 |
| → agrippa joined | 17:31 |
| → Mizar-jp joined | 17:31 |
| → charlls joined | 17:31 |
| → samjam joined | 17: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
| xD | 17: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 joined | 17:32 |
| → patmaddox joined | 17:32 |
|
Sephi-Chan
| So, finally, we can see what we will pull | 17:32 |
|
Griffon26
| yes | 17:33 |
|
| well, what you'll merge | 17:33 |
|
| pull might get even newer stuff that was committed since the fetch | 17:33 |
| → Vitaly joined | 17: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 things | 17: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 joined | 17:37 |
| ← johnnyg left | 17:38 |
| ← shruggar left | 17:38 |
|
cjs
| Yeah, kinda. So it's something like this? http://hpaste.org/fastcgi/hpaste.fcgi/view?id=12014#a12014 | 17:39 |
| ← agrippa left | 17:39 |
| ← rolfb left | 17:39 |
| ← samjam left | 17:39 |
| ← capnkernul left | 17:39 |
| ← charlls left | 17:39 |
| ← agib left | 17:39 |
| ← Mizar-jp left | 17:39 |
| ← cannonball left | 17:39 |
| ← r11t left | 17: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 buffer | 17:40 |
| → aresnick joined | 17: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 joined | 17:42 |
|
Griffon26
| cjs: he must not have pulled it, only fetched it | 17: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 :p | 17:43 |
| ← binjured_ left | 17: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 that | 17: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 well | 17: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 repo | 17: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 push | 17:44 |
| → rolfb joined | 17: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 left | 17:46 |
| → binjured joined | 17: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 second | 17:48 |
| ← dwtwjw left | 17:48 |
| → srcerer joined | 17:48 |
| ← tlb left | 17: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 joined | 17:49 |
| ← sh1mmer left | 17:50 |
|
kold
| cjs: http://gist.github.com/231092 | 17: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_ joined | 17:52 |
| → capnkernul joined | 17:52 |
| → agrippa joined | 17:52 |
| → agib joined | 17:52 |
| → Mizar-jp joined | 17:52 |
| → cannonball joined | 17:52 |
| → charlls joined | 17:52 |
|
cjs
| kold: Oh, so all the commits you need are still shown there? | 17:53 |
| → samjam joined | 17:53 |
|
kold
| cjs: correct, the commits were still around and I was able to see them via 'git reflog' | 17:53 |
| → qhoxie joined | 17: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 joined | 17:55 |
|
cjs
| Now does this have anything to do with the (*shudder*) "sync CVS" stuff I see? | 17:56 |
| ← agib left | 17:56 |
| ← trochala` left | 17:56 |
| ← srcerer left | 17:56 |
|
Griffon26
| I'm wondering where he merged the stuff from and if he couldn't just reset back three commits and try it again | 17:56 |
| → blueHandTalking joined | 17: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 patches | 17: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 left | 17: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 there | 17: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 up | 18:00 |
|
| Griffon26: thanks, will try that...does seem cleaner | 18: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 merged | 18:00 |
| ← bibinou left | 18:01 |
|
kold
| Griffon26: THANKS! THAT was the TRICK!!! I checked out to another branch from that last "good" state | 18:01 |
|
Griffon26
| kold: do know that you're now not on any branch | 18:02 |
| → hyperair joined | 18: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 7d7b2df | 18:02 |
|
Griffon26
| ah, k | 18:02 |
|
kold
| cjs: thanks to you for you help as well, I think I'm in good shape now | 18:03 |
|
cjs
| Griffon26: My theory is that, in git, every commit is a branch, albeit most don't have a name. | 18:03 |
| ← froschi left | 18: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 years | 18: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 sums | 18:03 |
| ← matthewford left | 18:04 |
| → srcerer joined | 18: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 joined | 18:04 |
|
Mikachu
| for one, the data is usually gzip-compressed | 18:04 |
| → bachya joined | 18:05 |
| ← bachya left | 18:05 |
| ← petrux left | 18:06 |
| → jlilly_ joined | 18:07 |
|
sandberg_
| cjs: in the NN dirs | 18:07 |
| ← Aikawa left | 18:07 |
| → drewolson_ joined | 18:07 |
|
notbenh
| ?window 2 | 18:08 |
| → psoo joined | 18:08 |
| → Tricon joined | 18: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 joined | 18:09 |
| ← lucsky left | 18:09 |
|
sandberg_
| cjs: I did (otherwise git wouldn't have found the object, right?) | 18:10 |
|
cjs
| Ok. Right. | 18:10 |
| → godsflaw joined | 18:10 |
|
sandberg_
| cjs: I'm a bit confused also that git cat-file blob0bb42d5f6288dc3b61df53c6b6736de149194a2e |sha1sum doesn't output 0bb42d5f6288dc3b61df53c6b6736de149194a2e | 18:11 |
| ← Tricon left | 18:11 |
|
sandberg_
| s/blob/blob / | 18:11 |
|
godsflaw
| sandberg_: turns out the git SHA1 is not just the blob contents. | 18:11 |
| ← futoase left | 18: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: yeah | 18:12 |
|
Mikachu
| there is a technical/ dir in the doc dir in the source repo that probably documents all that | 18:12 |
|
| if you don't want to read the actual code | 18:12 |
|
godsflaw
| =) | 18:13 |
|
Griffon26
| the sha1 stands for the entire history upto that point as well | 18:13 |
|
Mikachu
| Griffon26: not on blobs | 18:13 |
|
Griffon26
| oh | 18:13 |
| ← jof left | 18:13 |
| ← ciskje left | 18:14 |
| → Standart joined | 18:15 |
| → WALoeIII joined | 18: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 joined | 18:16 |
| → khmarbaise joined | 18:17 |
| ← Hendu left | 18:18 |
| → lucsky joined | 18:19 |
| → dreiss joined | 18:20 |
| → lhz joined | 18:22 |
| ← drewolson left | 18:22 |
| drewolson_ → drewolson | 18:22 |
| → johan-s joined | 18:22 |
| ← johan-s left | 18:22 |
| ← jlilly left | 18:22 |
| jlilly_ → jlilly | 18:22 |
| → johan-s joined | 18:23 |
| ← icwiener left | 18:24 |
| → ElementalVoid joined | 18:24 |
|
ElementalVoid
| anyone willing to help out with a git-svn question? | 18:25 |
| → jof joined | 18:25 |
| → nurey joined | 18:26 |
| → meatballhat joined | 18:26 |
| ← JackWinter left | 18:26 |
| → maronnax joined | 18:27 |
| → JackWinter joined | 18:27 |
| ← tono left | 18:27 |
| → sh1mmer joined | 18:27 |
| → Tricon joined | 18: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 joined | 18:31 |
| ← nurey left | 18:32 |
|
Griffon26
| WebDragon: git log file? | 18:32 |
|
meatballhat
| WebDragon: git log <path-to-file> ? | 18:32 |
|
WebDragon
| oh that simple? | 18:32 |
| → Sigma joined | 18: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 form | 18:32 |
|
WebDragon
| oh I know that already although I do wish --decorate was the default | 18:33 |
| → Tommy[D]_ joined | 18:33 |
| → bdiego joined | 18:33 |
| → troyt joined | 18:33 |
| → ankit9 joined | 18: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 left | 18:34 |
| → maattd joined | 18: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_ left | 18: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 url | 18: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_ left | 18: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 joined | 18:38 |
| ← reprore left | 18: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 joined | 18: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 left | 18: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 bit | 18: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.html | 18:41 |
|
| Comments welcome; it's going from draft into "make me look stupid to the world" mode in about 48 hours. | 18:42 |
| → freerobby joined | 18:42 |
|
charon
| ElementalVoid, cjs: ah, but why not just: git fetch origin refs/remotes/*:refs/remotes/* to get a straight copy | 18:42 |
|
| or, in the original git-svn repo, git fetch . refs/remotes/*:refs/heads/* to copy them over into the local branch namespace | 18: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 once | 18: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 left | 18: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 left | 18: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 joined | 18:45 |
| → fjji joined | 18:45 |
|
bentob0x
| is as it's singular I suppose but it feels strange | 18:45 |
|
DrNick
| bentob0x: "there is no search page", "there are no search pages" | 18:45 |
|
bentob0x
| ok cool, thx doc :) | 18:45 |
| → JasonWoof joined | 18:46 |
| → bachya joined | 18: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 joined | 18:47 |
|
bentob0x
| I was thinking of writing "if there isn't any search page" as an alternative hvnqke_work | 18:47 |
|
| ^^ | 18:47 |
|
| thx anyway | 18:47 |
|
Vitaly
| how do i close merge | 18: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
| lol | 18:48 |
| → d0k joined | 18:48 |
|
cjs
| bentob0x: "If there isn't a search page." | 18:48 |
|
Vitaly
| and i fixed all the conflicting documents | 18:48 |
| ← jspiros left | 18:48 |
| → jspiros joined | 18:48 |
|
bentob0x
| such a bad english I have | 18:48 |
| ← jceb left | 18: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, commit | 18:49 |
|
Gitbot
| Vitaly: the git-merge manpage can be found at http://git.or.cz/man/git-merge | 18:49 |
|
Vitaly
| ok | 18:49 |
| ← pti left | 18: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 worked | 18:50 |
| ← nsussman left | 18: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 joined | 18:51 |
|
zilenCe
| hello guys | 18:51 |
|
| I have a git-write-tree error, can someone help? | 18:51 |
|
| I really can't find anything on how to "fix" the repo | 18: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 treest | 18:52 |
|
agrippa
| cjs: That works? | 18:52 |
| ← hvnqke_work left | 18:53 |
| → sgh joined | 18:53 |
| ← Standart left | 18:53 |
| ← kiuma left | 18:53 |
|
charon
| agrippa, cjs: if you remember to edit .git/config (or git config core.bare true), yes | 18: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 it | 18: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 left | 18: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 repo | 18:57 |
| ← altrux left | 18:57 |
|
cjs
| I'll believe someone who's tried to read setup.c. | 18:58 |
| ← bugfux left | 18:58 |
|
charon
| zilenCe: you could pastebin the exact error message so we can grep for it | 18:58 |
| → bugfux joined | 18:58 |
|
zilenCe
| error: invalid object 100755 ecab63c568ecc71ee9c7c5822161a1eed94a1f62 for 'annex | 18:58 |
|
| /bookmarklet/views.py' | 18:58 |
|
| error: Error building trees | 18:58 |
|
| oh sorry, didn't pastie, just 3 lines | 18:58 |
| → xvyrpm joined | 18:58 |
| → thiago_home joined | 18:59 |
| → WebDragon|away joined | 18: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 theory | 19:01 |
|
sandberg_
| Mikachu: a file that correctly represents an object, that is. | 19:01 |
|
zilenCe
| fatal: git cat-file ecab63c568ecc71ee9c7c5822161a1eed94a1f62: bad file | 19:01 |
|
| can I somehow recover them? | 19:01 |
| → drizzd_ joined | 19:02 |
| → sanguisdex joined | 19:02 |
|
sandberg_
| Mikachu: hm.. what I want is the inverse of cat-file, actually | 19:02 |
| ← kold left | 19:02 |
|
sanguisdex
| how does one downlaod just a tag of a file? | 19:02 |
| ← Thumper_ left | 19:03 |
| → Thumper_ joined | 19:03 |
| ← sh1mmer left | 19:03 |
| ← cenuij left | 19:03 |
|
sandberg_
| Mikachu: ah, seems to be hash-object I'm looking for | 19:03 |
| → sh1m joined | 19: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 left | 19:04 |
|
charon
| zilenCe: er, sorry, leave out the < so it's an actual filename argument | 19:04 |
|
| zilenCe: but even if that fixes the issue, you either have a storage integrity problem or a buggy git. neither prospect is very reassuring | 19:05 |
|
zilenCe
| hm | 19:05 |
|
| I should probably check out the repo again | 19:05 |
|
| however I have no idea where that problem came from | 19:05 |
| → lightcap_ joined | 19:05 |
| → cenuij joined | 19: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 joined | 19: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 joined | 19: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 dirty | 19:08 |
|
rektide
| l | 19:08 |
| ← jlilly left | 19:08 |
|
WebDragon|away
| cjs: ROFL | 19:08 |
| → EricInBNE joined | 19:08 |
| ← WebDragon left | 19:09 |
| WebDragon|away → WebDragon | 19:09 |
| → DrAk0 joined | 19:09 |
| ← flazz left | 19:09 |
| ← sanguisdex left | 19:09 |
| → nurey joined | 19:09 |
| ← zilenCe left | 19:09 |
|
WebDragon
| ElementalVoid: BLOG that somewhere | 19:09 |
| → jlilly joined | 19:09 |
|
WebDragon
| seriously | 19: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 others | 19: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 therein | 19:11 |
| ← juan_arandaalvar left | 19:11 |
| → squisher joined | 19: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 joined | 19: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 joined | 19: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 me | 19:15 |
|
| ah :) | 19:15 |
|
| how can I setup 1)? I seem to be doing 2) | 19:15 |
| ← Sephi-Chan left | 19: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 namespace | 19: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 joined | 19: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 ways | 19: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 left | 19: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 though | 19:18 |
| ← kpreid_ left | 19: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) branch | 19:18 |
|
| (git 1.7 will also have dwimmery to make this easier) | 19:18 |
|
d_sph
| 1.7.. has a nice ring to it | 19: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 clone | 19: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__ joined | 19: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 merge | 19:21 |
| → __iron joined | 19: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 already | 19:21 |
|
charon
| iff the merge said "fast-forwarded ...", the result will be the same | 19:21 |
|
| but otherwise, you just created a new branch from whatever commit you were on, and *merged* remote/branch into it | 19:21 |
|
squisher
| right, the local repo was clean though | 19:22 |
|
charon
| btw, i guess you said 'git pull <remote> <branch>' since that does not take a (lone) branch name | 19:22 |
|
squisher
| right | 19:22 |
|
| charon thinks 'pull=fetch+merge' should be in the topic | 19:22 |
| → WebDragon|laptop joined | 19:23 |
| → brockp joined | 19:24 |
| ← Tricon left | 19: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 commit | 19:24 |
|
squisher
| charon, ok, so I redid it with checkout -t, since that sets up the tracking for me, which is much nicer | 19:24 |
|
rolfb
| charon: +1 | 19:24 |
| ← juan_arandaalva1 left | 19:24 |
| → nasso_ joined | 19:24 |
|
squisher
| thanks everyone for your help | 19:24 |
|
charon
| then again "see topic" is almost as many letters as "pull=fetch+merge" so it's not much of a saving | 19: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 them | 19: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 left | 19: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 it | 19:26 |
| ← cedric_ left | 19:27 |
|
brockp
| I was keeping all my tex files under one repo, and I need to split 'training docs' from 'regular talks' into two repos | 19: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 commits | 19: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 branch | 19:29 |
| → icwiener joined | 19: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 merge | 19:30 |
|
| hopefully that makes sense | 19:30 |
| ← WebDragon|away left | 19:31 |
| → stuffcorpse joined | 19:31 |
| ← WebDragon left | 19: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 left | 19: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 left | 19:33 |
|
charon
| cjs: indeed | 19:33 |
| ← sandberg_ left | 19: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 place | 19:33 |
| → rudi_s joined | 19: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 precise | 19: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 to | 19: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 again | 19:38 |
|
| cjs: push or dcommit? | 19:38 |
|
cjs
| Sorry, dcommit. | 19:38 |
|
charon
| that requires a worktree iirc, so yes, branch by branch | 19: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 ancestry | 19:39 |
| ← nasso_ left | 19: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 server | 19: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 C | 19: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 anymore | 19:40 |
|
| so it can't be pushed | 19:40 |
|
charon
| bnovc: if D is really a single commit, you'd just do 'git cherry-pick D' and fix as needed | 19: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 appropriately | 19:40 |
| ← freerobby left | 19: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 left | 19: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 left | 19:41 |
|
charon
| ElementalVoid: sure | 19:41 |
| ← maronnax left | 19: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_ left | 19:43 |
| ← smuf left | 19: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 |
|
| *signing | 19:44 |
| → rudi_s_ joined | 19:45 |
| ← drewolson left | 19:45 |
|
charon
| man git-tag, -s option | 19:45 |
|
Gitbot
| charon: the git-tag manpage can be found at http://git.or.cz/man/git-tag | 19:45 |
|
charon
| no support for the commits themselves though | 19:45 |
| → tk joined | 19:45 |
|
ElementalVoid
| k, still not on commits. gotcha. | 19:45 |
|
cjs
| That's a little annoying. | 19:45 |
| ← blueHandTalking left | 19:45 |
|
charon
| should be easy to script something with e.g. the git-notes topic's support | 19: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 joined | 19:47 |
|
bnovc
| ChenKaie: I don't understand why you couldn't squash them anyway | 19:47 |
|
| er | 19:47 |
|
| charon: | 19:47 |
|
| it is compounded by the fact that Gerrit provides "git pull" instead of "git fetch" links | 19: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 fixups | 19:48 |
|
| so I really just want something like `git rebase -i C` to let me squash one of them | 19:48 |
| ← dpino left | 19:49 |
|
bnovc
| but its not that simple | 19:49 |
|
charon
| rebase -i doesn't handle merges and rebase -i -p is broken in several ways, so that's probably not an option | 19:49 |
|
bnovc
| yep, I've experienced both | 19: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 be | 19:50 |
| ← xvyrpm left | 19:50 |
| ← lhz left | 19:50 |
| → hghxhr joined | 19:50 |
|
bnovc
| I don't want a merge at all. I just want the merge changes to be combined into A and have no branches | 19:50 |
|
| just A-B-C-D | 19:50 |
|
charon
| well then you have to rebase D on C, which means A-B-C-D' in effect | 19:50 |
|
bnovc
| right, and the rebase causes E(merge commit) | 19:51 |
| → flazz joined | 19:51 |
|
charon
| huh? | 19:51 |
| → danzat joined | 19: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 commits | 19:51 |
| → Bass10 joined | 19: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-D | 19:52 |
|
| the pull rebases D | 19:52 |
| → sverrej joined | 19:52 |
|
charon
| the pull *merges*, that's why it's a pull (please memorise: pull=fetch+merge) | 19:52 |
| ← Pewpewarrows left | 19:52 |
| ← Bass10 left | 19:52 |
|
charon
| (note that there's a --rebase option but it goes the other way around) | 19:53 |
| → Pewpewarrows joined | 19:53 |
|
ElementalVoid
| man git-fetch | 19:53 |
|
Gitbot
| ElementalVoid: the git-fetch manpage can be found at http://git.or.cz/man/git-fetch | 19:53 |
|
bnovc
| I'm aware, and I want to get right of the merge afterward | 19:53 |
|
charon
| if you're still aiming for A-B-C-D', then you have to discard E (the merge) | 19:53 |
| → bantic joined | 19:53 |
|
bnovc
| ElementalVoid: I know, but I'm asking how to get out of a situation not how to avoid it in the first place | 19:53 |
|
| because people will not stop using 'pull' at work and screwing up their dir | 19:53 |
| → Bass10 joined | 19:53 |
| ← ph^_ left | 19:53 |
| ← ph^ left | 19: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 guess | 19:54 |
|
charon
| bnovc: e.g., git reset --hard HEAD@{1} # get rid of the merge after pull | 19:54 |
|
| bnovc: and then rebuild D' on top of it, either by cherry-pick or rebase | 19:54 |
|
bnovc
| charon: the merge contains fixes to make D work on C | 19:54 |
| → ph^ joined | 19:54 |
| → ph^_ joined | 19:55 |
|
bnovc
| so I don't want to delete those | 19:55 |
| ← tk left | 19:55 |
|
danzat
| sorry, stupid question | 19:55 |
| ← danzat left | 19:55 |
| → tk joined | 19: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 back | 19:56 |
| ← levifig left | 19:57 |
|
charon
| d_sph: http://article.gmane.org/gmane.comp.version-control.git/130819 | 19:57 |
| → levifig joined | 19:57 |
|
bnovc
| charon: I don't follow | 19:58 |
| → juan_arandaalvar joined | 19:58 |
| ← rolfb left | 19: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
| right | 19: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 later | 19:58 |
|
| call this O | 19:58 |
|
| (the original merge) | 19:58 |
|
| now your fix-ups are exactly the difference between O and E | 19:59 |
|
| meaning that you can do: git checkout C; git cherry-pick D; git diff O E | git apply | 19:59 |
|
bnovc
| ugh | 19:59 |
|
| why isn't git rebase just capable of squashing merge commits...arg | 19:59 |
|
charon
| erm... either i'm misunderstanding again, or you're asking for a way to *split* that merge | 19:59 |
|
d_sph
| bnovc: because that is logically impossible | 20:00 |
|
bnovc
| d_sph: no it isn't | 20:00 |
|
charon
| bnovc: btw, you'll also realise that this procedure isn't all too well-defined if E had a merge conflict | 20:00 |
| ← caio left | 20:00 |
|
d_sph
| bnovc: well I am all ears then | 20:00 |
|
charon
| or, hrmm. | 20:00 |
|
bnovc
| i need to make like an example tree to show you guys or something | 20:00 |
| ← JasonWoof left | 20:00 |
|
charon
| bnovc: actually, you can just cherry-pick -m 1 E | 20:00 |
|
| (that's a much better idea :) | 20:01 |
|
| on top of C, of course | 20:01 |
|
bnovc
| hm, that'd give just A-B-C-D ? | 20:01 |
| → bibinou joined | 20: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 nice | 20: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 C | 20:01 |
| ← rudi_s left | 20:01 |
|
charon
| D doesn't have a thing to do with it | 20:01 |
| → jacobfogg joined | 20:02 |
| ← maattd left | 20: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 them | 20:02 |
|
bnovc
| hold on i'm drawing a picture in gimp (/wrists) | 20:03 |
| jacobfogg → jakefogg | 20:04 |
| → jlilly_ joined | 20:04 |
| jakefogg → jacobfogg_ | 20:05 |
| jacobfogg_ → jacobfogg | 20:05 |
| ← dirk2 left | 20:06 |
| → juan_arandaalva1 joined | 20:06 |
|
d_sph
| graphviz wins | 20:06 |
| → voker57_ joined | 20:06 |
|
d_sph
| at least for simple ones | 20:06 |
|
bnovc
| charon, d_sph: http://dev.bnovc.com/tmp/git.png | 20:06 |
|
| guess paint.net would'v ebeen easier | 20:07 |
| dna_ → dna | 20:07 |
| ← Griffon26 left | 20: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 C | 20:08 |
|
bnovc
| yes | 20:08 |
|
charon
| ok, then my cherry-pick suggestion stands | 20:08 |
| → JasonWoof joined | 20:08 |
|
bnovc
| 10:52 charon | bnovc: actually, you can just cherry-pick -m 1 E | 20:09 |
|
| that one? | 20:09 |
|
charon
| yes | 20: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 introduced | 20:09 |
| → rbanffy joined | 20: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+F | 20:10 |
|
| which is exactly what 'git cherry-pick -m 1 E' copies | 20:11 |
| ← juan_arandaalvar left | 20:11 |
| → voker57__ joined | 20: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, thanks | 20:11 |
|
charon
| running win...oh. | 20:11 |
|
bnovc
| I think the same situation comes up when people rebase their branches that aren't ever pulled | 20:12 |
| ← voker57 left | 20: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 surprises | 20:13 |
|
bnovc
| iirc that rebase will ask you to merge if theres a problem, right? | 20:13 |
| → sandberg_ joined | 20:13 |
| → tvw joined | 20:13 |
| ← ctusar left | 20:13 |
| ← doener left | 20: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 joined | 20: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 left | 20:15 |
|
bnovc
| ah ok, well sounds good then | 20: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 joined | 20:16 |
| ← mattions left | 20:17 |
| ← niki left | 20:17 |
| ← nurey left | 20:17 |
| ← ekontsevoy left | 20:17 |
|
jacobfogg
| Now I type "git pu" and it just returns: | 20:18 |
| ← notbenh left | 20:18 |
|
jacobfogg
| usage: git [--version] ..... | 20:18 |
| → rolfb joined | 20:19 |
| → niki joined | 20:19 |
| WebDragon|laptop → WebDragon | 20:20 |
| ← jlilly left | 20:21 |
| jlilly_ → jlilly | 20: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 rules | 20:21 |
|
Mikachu
| jacobfogg: i think what you had first was good, except you had the ! outside the quotes | 20:21 |
| ← niki left | 20:21 |
|
Mikachu
| you only need the sh -c thing if you want to pass in positional arguments | 20: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 left | 20: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_ left | 20:25 |
|
jacobfogg
| In the command that I added to my ~/.gitconfig | 20:26 |
| → jlilly_ joined | 20:26 |
|
jacobfogg
| pu = !"git fetch origin -v; git fetch upstream -v; git merge upstream/master" | 20:26 |
| → dep241 joined | 20: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 is | 20:28 |
|
jacobfogg
| trying now... | 20:28 |
|
| yes | 20:28 |
| → WebDragon|away joined | 20:29 |
|
charon
| confusing | 20:29 |
| → davido joined | 20:29 |
|
jacobfogg
| tell me about it =) | 20:29 |
| ← WebDragon left | 20:30 |
| → sgh_ joined | 20:30 |
| WebDragon|away → WebDragon | 20:30 |
| ← hghxhr left | 20:30 |
| → evnnyn joined | 20:31 |
| ← bdiego left | 20:32 |
| ← johnjay left | 20:33 |
| → johnjay joined | 20:33 |
|
rbanffy
| Anyone knows what is going on here? http://pastebin.com/d1e5a03f5 | 20:34 |
|
drizzd_
| rbanffy: maybe tell us what it's about if you want us to get interested | 20: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 commit | 20:36 |
|
charon
| well, he's missing a blob that he added two seconds before | 20:36 |
|
| rbanffy: git --version? | 20:36 |
|
rbanffy
| charon: I couldn't say that better | 20:36 |
|
| charon: git version 1.6.0.4 | 20: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 --full | 20:38 |
|
ElementalVoid
| charon: i'm unsure of what would need changes since i'm not starting from a standard svn layout. | 20:38 |
| → hydrogen joined | 20:38 |
| ← hugoxrosa left | 20:39 |
| → thermal_ joined | 20: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/692578 | 20:39 |
|
drizzd_
| rbanffy: do you have anything in .git/objects after the git add? | 20:39 |
|
rbanffy
| drizzd_: http://pastie.org/692583 | 20:40 |
| → marc_m joined | 20:41 |
|
charon
| rbanffy: what's inside f1? | 20:41 |
|
rbanffy
| charon: nothing | 20:41 |
| → Artefact2 joined | 20:41 |
|
charon
| crazy. | 20:41 |
|
drizzd_
| yeah | 20:41 |
|
Artefact2
| hello there, is it possible to have per-branch index? | 20:41 |
|
| eg. leave different files "added" but uncommited in different branches | 20:42 |
|
drizzd_
| rbanffy: what's the exit code of git add? can you show us an strace? | 20:42 |
| ← Tobin left | 20:42 |
|
drizzd_
| (not sure if that's available in cygwin?) | 20:42 |
| ← bentob0x left | 20:42 |
|
charon
| Artefact2: man git-stash, though not really. probably you're about as well off with temporary commits and resetting them | 20:42 |
|
Gitbot
| Artefact2: the git-stash manpage can be found at http://git.or.cz/man/git-stash | 20: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 though | 20:43 |
|
| i guess i'll have to use them then | 20:44 |
|
| thanks | 20: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 though | 20:45 |
| ← sgh left | 20: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 left | 20:45 |
| ← jlilly left | 20:46 |
| jlilly_ → jlilly | 20:46 |
|
drizzd_
| Artefact2: yeah, ^- that's better | 20:46 |
|
Artefact2
| charon: okay, is there a way to automatically do that when switching between branches? | 20:47 |
|
drizzd_
| Artefact2: post-checkout hook | 20:47 |
|
| gitster` senses a classic XY problem. | 20:47 |
|
Artefact2
| drizzd_: i will try that, thanks | 20:47 |
|
rbanffy
| drizzd_: strace result in 4 parts http://pastie.org/692596 http://pastie.org/692597 http://pastie.org/692598 http://pastie.org/692599 | 20:47 |
| → omerj joined | 20:47 |
|
drizzd_
| good thing I installed a url grabber... | 20:48 |
|
charon
| the interesting part is in the last one | 20: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 left | 20:49 |
| ← juan_arandaalva1 left | 20:50 |
| ← s0ber left | 20:50 |
|
rbanffy
| drizzd_: "exitcode 0x0" looks like a happy thing | 20:51 |
| → ciskje joined | 20:51 |
|
Artefact2
| gitster`: yes, actuallu | 20:52 |
| → qrush_ joined | 20:52 |
| → sgh joined | 20: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 joined | 20:53 |
| → quizme joined | 20:53 |
| → [dmp] joined | 20: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 out | 20: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 joined | 20: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 left | 20: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 joined | 20:58 |
| ← TML left | 20:58 |
|
kampasky
| kiuma: try running git update-server-info on the server | 20:58 |
| ← sgh_ left | 20:58 |
|
kampasky
| kiuma: you'll probably want to enable hooks/post-update | 20:58 |
|
kiuma
| kampasky, ok I'll try | 20:58 |
| → TML joined | 20: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 much | 21:00 |
|
drizzd_
| but git doesn't try anything else after the link failure | 21:00 |
|
quizme
| kampasky: tyu. how about git checkout 83026 -- hello.txt ? I saw the -- on the internet. what's the -- for ? | 21:01 |
| → crazychenz joined | 21:01 |
|
rbanffy
| drizzd_: git should complain link did something weird | 21: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 hardlink | 21:02 |
| → tjholowaychuk joined | 21:02 |
|
drizzd_
| so I guess it's not surprising that it fails on windows | 21:02 |
|
rbanffy
| drizzd_: I could try Tortoise, which integrates with Windows Explorer. | 21:02 |
|
drizzd_
| but I don't know how cygwin handles this internally | 21:02 |
|
| Tortoise is just a git frontend | 21:03 |
|
rbanffy
| drizzd_: but then git would never have worked under cygwin... | 21:03 |
|
drizzd_
| and you need msysgit for that anyways | 21:03 |
|
| yes, install msysgit, nobody uses cygwin git any more I think | 21:03 |
|
rbanffy
| drizzd_: But I suppose Tortoise has a Windows-friendly git underneath. | 21:03 |
|
drizzd_
| yes, it has msysgit "underneath" | 21:04 |
| ← dep241 left | 21: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, IIRC | 21: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 too | 21:05 |
|
Gitbot
| [git be66a6c4]: http://tinyurl.com/ygq2zj2 -- Add an option not to use link(src, dest) && unlink(src) when that is unreliable | 21:05 |
| ← drubies left | 21:05 |
| ← ablemike left | 21:05 |
| ← tjholowaychuk left | 21:05 |
|
kampasky
| quizme: in case the filename starts with a dash | 21:06 |
|
rbanffy
| Is any of the cygwin maintainers around? | 21:06 |
| ← aresnick left | 21:06 |
| ← hakunin left | 21:06 |
|
quizme
| kampasky oh ok that's pretty crazy. they thought of everything. | 21:06 |
|
rbanffy
| charon: Interesting | 21:06 |
| → hakunin joined | 21:07 |
|
charon
| quizme: also, man gitcli | 21:07 |
|
Gitbot
| quizme: the gitcli manpage can be found at http://git.or.cz/man/gitcli | 21:07 |
|
rbanffy
| charon: drizzd_: I will try to use Cygwin's installer to bring it to 1.6.1.2 | 21:07 |
| → juan_arandaalvar joined | 21:08 |
|
quizme
| ty | 21:08 |
|
charon
| rbanffy: msysgit... | 21:08 |
| ← lorandi left | 21:08 |
|
| charon does the jedi wave | 21:08 |
|
rbanffy
| charon: That's plan B ;-) I am not sure it will play nice with cygwin's stdin and stdout | 21:09 |
| ← khmarbaise left | 21:09 |
| ← kiuma left | 21: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 joined | 21:11 |
| → mcella joined | 21: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 be | 21:14 |
|
| oops... sorry. there is a guy around praising svn | 21:14 |
| → jmcantrell joined | 21:14 |
|
rbanffy
| msygit it now plan-A | 21:15 |
| → blakemizerany joined | 21:16 |
| → FunkeeMonk joined | 21:16 |
| ← malumalu left | 21:18 |
| r0bby_ → r0bby|android | 21:19 |
| ← jschoolcraft left | 21:20 |
| r0bby|android → r0bby | 21: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 that | 21:22 |
| ← phish3 left | 21: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 joined | 21:23 |
| → niki joined | 21: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 joined | 21: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 somewhere | 21:25 |
|
shruggar
| I was doing "git add" and got "error: bad index file sha1 signature" | 21:26 |
| ← hydrogen left | 21:26 |
|
shruggar
| "git reset" produces similar errors and fails | 21:27 |
| ← tbuehlmann left | 21:27 |
|
shruggar
| how can I get my index back to a point where I can add things? | 21:27 |
| ← tvw left | 21: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_ joined | 21:28 |
|
Chepra_
| Hello. Is it possible to have 2 keys per user with gitosis? | 21:29 |
| r0bby → r0bby|android | 21:29 |
| r0bby|android → r0bby | 21: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 -d | 21:29 |
|
| (you know what to remove if you really want to do this) | 21:29 |
| → hydrogen joined | 21:31 |
| → bazz joined | 21:32 |
| → Stravy joined | 21:32 |
| ← Darkas left | 21:32 |
|
charon
| shruggar: mv .git/{index,this-index-is-broken}; git reset | 21: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 that | 21:32 |
| → sergiodj1 joined | 21:33 |
|
impulze
| sitaram: around? :) | 21:33 |
| → jlilly_ joined | 21: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 master | 21: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 again | 21: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 left | 21:35 |
|
charon
| bazz: so you have some uncommitted changes, and want to take them forward to master and commit them there? | 21:35 |
| ← navvywavvy left | 21: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 left | 21: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 --bare | 21: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 yet | 21:40 |
| → jon joined | 21:41 |
|
ElementalVoid
| mirror still has the remote | 21:41 |
|
jon
| is there a way to tell git pull to overwrite untracked working tree files | 21:41 |
| jon → Guest24461 | 21:41 |
|
Guest24461
| or git merge | 21:41 |
|
charon
| ah. thanks for checking | 21:41 |
|
ElementalVoid
| welcome. mirror also will place the brances in refs/heads/* (like bare does) | 21:42 |
|
sergiodj1
| oh man | 21: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 so | 21:42 |
|
| it's really strange that "git push --mirror" didn't push the branches... | 21:42 |
| ← Stravy left | 21:43 |
| → Aikawa joined | 21:44 |
| ← Aikawa_ left | 21:44 |
| ← hydrogen left | 21:45 |
| → hugoxrosa joined | 21:48 |
| ← drubies left | 21:48 |
| ← imajes left | 21:48 |
| ← jlilly left | 21:49 |
| jlilly_ → jlilly | 21:49 |
| WebDragon → WebDragon|away | 21:49 |
| ← rbanffy left | 21: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 joined | 21: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 left | 21:51 |
|
mugwump
| Swimming_Bird: it even completes *remote* branch names | 21:51 |
| → belred joined | 21:51 |
|
Swimming_Bird
| nice | 21:51 |
| → altrux joined | 21:51 |
|
charon
| all sorts of other fun stuff like options or paths inside trees to name blobs | 21: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 left | 21:52 |
|
sergiodj1
| hey guys, did anyone have to mirror one git repository? | 21:52 |
|
mugwump
| not required, just call the completion script from your .bashrc | 21:52 |
|
bazz
| charon: yes | 21: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 pop | 21:54 |
| WebDragon|away → WebDragon | 21:54 |
|
ElementalVoid
| charon: nope. still only grabs from svn/trunk | 21:54 |
| ← altrux left | 21:54 |
|
bazz
| charon: ohh, easy as that huh, awesome :) | 21:54 |
| → altrux joined | 21:54 |
|
ElementalVoid
| charon: ah, probably because the fetch line in git config | 21: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 server | 21:56 |
|
sergiodj1
| belred: yeah, that's what I was going to say. in your case, s/master/develop | 21:56 |
| ← flazz left | 21:57 |
| ← Grahack left | 21:57 |
|
charon
| ElementalVoid: hmm, but if your branches all point the right way that should be fine | 21:57 |
| → smuf joined | 21:57 |
| ← d0k left | 21: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 branch | 22:00 |
|
belred
| i did get checkout develop, but it said did not match any files known to git | 22: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-takagi → m-takagi_ | 22:02 |
|
belred
| sergiodj1: i'm looking at git gui and it says that the remotes/origin/develop exists | 22:02 |
|
charon
| ElementalVoid: with the git-svn config pointing into the refs/heads/ namespace? | 22:02 |
| rfay → rfay_afk | 22:02 |
|
sergiodj1
| belred: ok, so you have to check it out in some local branch | 22:03 |
|
| belred: sorry, I assumed that you already had the local "develop" branch | 22:03 |
|
ElementalVoid
| charon: as here -> http://pastie.org/692546 | 22:03 |
|
belred
| i see, so i have to create my own local develop branch... | 22:03 |
| ← ia left | 22:04 |
|
sergiodj1
| belred: yes | 22:04 |
|
| sorry about missing that | 22: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 branches | 22:05 |
| → leachbj joined | 22: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 it | 22:06 |
|
sergiodj1
| belred: you'll have to tell. if I'm not mistaken, you must do: git push origin develop:develop | 22:06 |
|
| belred: but please do check that before you run it | 22: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 it | 22:06 |
|
| unless you used --no-metadata in which case you're in some trouble | 22:07 |
|
sergiodj1
| belred: that "git push" command is saying that you want to update your remote develop branch using your local develop branch | 22:07 |
|
belred
| sergiodj1: ok, i see... i'm sure you don't need to repeat develop twice... it means the same | 22:07 |
| ← SethX left | 22: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 joined | 22:07 |
| ← ehabkost left | 22:09 |
| → ludde2 joined | 22: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 moment | 22:09 |
|
ElementalVoid
| that's what i get for making (un)educated guesses | 22:10 |
| ← belred left | 22:11 |
| → WebDragon|away joined | 22:11 |
| → muthu joined | 22:12 |
| ← mbroeker left | 22: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 work | 22:12 |
| → ia joined | 22:12 |
|
ElementalVoid
| charon: we'll see, but it may be a while. it's a large svn repo : ) | 22:12 |
|
charon
| uh oh | 22:13 |
| → r11t joined | 22:13 |
| ← WebDragon|away left | 22:13 |
|
charon
| that operation is usually more or less instant for me :) | 22:13 |
| ← ludde left | 22:13 |
| loincloth → [SCALING] | 22:14 |
| → imajes joined | 22:14 |
| [SCALING] → [SCALING]loinclo | 22:14 |
| [SCALING]loinclo → loincloth | 22:15 |
|
ElementalVoid
| charon: the initial `git svn fetch` took hours | 22:16 |
|
| several of them | 22:16 |
| → sshc_ joined | 22:16 |
| sshc_ → sshc | 22:17 |
|
sshc
| how do I find the number of commits in the master branch? | 22:17 |
| ← DavidKlein left | 22:17 |
|
DrNick
| git rev-list master | wc -l | 22:17 |
|
ElementalVoid
| DrNick: is that aimed at me? | 22:18 |
| → flaguy48 joined | 22:19 |
| ← jacobfogg left | 22: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.1 | 22:21 |
|
| d520036..06c1033 trunk -> trunk | 22:21 |
| ← lru left | 22:21 |
|
ElementalVoid
| charon: 4.2 is the branch that is not updating locally | 22:21 |
| ← loincloth left | 22:22 |
|
ElementalVoid
| charon: and it looks like i need to change the tags line in the config, too. | 22:22 |
| ← Vitaly left | 22:23 |
| → rredford joined | 22: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_ joined | 22:25 |
| ← tstclair left | 22:25 |
| ← DrAk0 left | 22:25 |
|
rredford
| Anyone used git with eclipse? | 22:26 |
|
ElementalVoid
| i have not. | 22:26 |
| ← sergiodj1 left | 22:26 |
| ← kpreid_ left | 22:26 |
| → tstclair joined | 22:26 |
|
ElementalVoid
| but having used svn in eclipse, take a look at the team menus (right click on your project) | 22:26 |
| → kpreid_ joined | 22:27 |
| ← ph^ left | 22:27 |
|
rredford
| Yeah I used "push to..." | 22:27 |
| → ludde joined | 22:27 |
|
rredford
| but it always errors out | 22:28 |
| ← WALoeIII left | 22:28 |
| ← WebDragon left | 22: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 joined | 22: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 windows | 22:29 |
|
ElementalVoid
| rredford: maybe http://code.google.com/p/msysgit/downloads/list ? that assumes that you are allowed to install software | 22:30 |
| ← Cesario left | 22:30 |
|
rredford
| thanks. :) | 22:31 |
|
| bye | 22:31 |
| ← rredford left | 22:31 |
| ← ludde2 left | 22:31 |
| ← mm_work left | 22:31 |
| → stringo0 joined | 22:32 |
| → tehbaut| joined | 22:35 |
| ← unreal left | 22:35 |
| ← vinse left | 22:35 |
| → ludde2 joined | 22:35 |
| → AAA_awright_ joined | 22:35 |
| → vinse joined | 22:35 |
| → Pewpew joined | 22:36 |
| → unreal joined | 22:36 |
| ← JEEB left | 22:36 |
| → RobertMeta_ joined | 22:37 |
| ← RobertMeta left | 22:37 |
| tstclair → tstclair-out | 22:37 |
| ← tstclair-out left | 22:37 |
| → Cesario joined | 22:38 |
| ← hakunin left | 22:38 |
| → hakunin joined | 22:39 |
| → scarabx joined | 22:42 |
| ← Sigma left | 22:43 |
| ← Pewpewarrows left | 22:43 |
| ← qrush_ left | 22:43 |
| ← AAA_awright left | 22:44 |
| ← tehbaut left | 22:44 |
| → j416 joined | 22:45 |
| ← cenuij left | 22:45 |
| ← ludde2 left | 22:45 |
| → ludde2 joined | 22:45 |
| ← kumbayo left | 22:46 |
| ← bcardarella left | 22:47 |
| ← JakeSays left | 22:48 |
| → JakeSays joined | 22:49 |
| ← RobertLaptop left | 22:50 |
| → RobertLaptop joined | 22:50 |
| ← ludde left | 22:52 |
| ← bibinou left | 22:53 |
| ← rudi_s_ left | 22:54 |
| → eletuchy joined | 22:54 |
| ← ludde2 left | 22:54 |
| Guest24461 → jonthefly | 22:55 |
| → ludde joined | 22:55 |
|
jonthefly
| is there a way to tell git-pull to overwrite an untracked working copy | 22:55 |
|
| or discard local changes | 22:55 |
|
| or even git-merge actually | 22:55 |
| → fcuk112_ joined | 22:56 |
|
mugwump
| git merge -s ours | 22:57 |
|
| oh, you want the opposite | 22:57 |
| ← fcuk112_ left | 22: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 happen | 22:58 |
| → fcuk112_ joined | 22:59 |
|
Ilari
| jonthefly: In current versions, no. | 22:59 |
| ← rolfb left | 23:00 |
|
jonthefly
| k thanks | 23:02 |
| ← patrikf left | 23:04 |
| → loincloth joined | 23:05 |
| ← lamont left | 23:07 |
| → lamont joined | 23:08 |
| ← sykopomp left | 23:08 |
| ← fcuk112 left | 23:08 |
| ← lucsky left | 23:08 |
| ← rettub left | 23:08 |
| → rettub joined | 23:09 |
| ← justinsb_ left | 23:13 |
| → sykopomp joined | 23:14 |
| ← dunolie left | 23:14 |
| → justinsb_ joined | 23:14 |
| ← bdimcheff left | 23:15 |
| → bachya joined | 23: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 that | 23:17 |
| ← vbgunz__ left | 23:17 |
|
mugwump
| if you've got it checked out | 23:17 |
| ← ixti left | 23: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).remote | 23:22 |
|
| er, $(branch) is not literal there | 23:22 |
|
bachya
| Nice!! | 23:23 |
|
| That works perfect | 23:23 |
|
| Thanks, mugwump. :) | 23:23 |
|
mugwump
| bachya: see also "plumbing commands" in man git | 23:24 |
|
bachya
| Very cool | 23:24 |
|
| You learn something new every day. | 23:25 |
| ← ludde left | 23:25 |
| → coolcat joined | 23:26 |
| → lightcap_ joined | 23:27 |
| → archis joined | 23:27 |
| → lukas joined | 23:31 |
| ← archis left | 23:31 |
|
lukas
| Hi :) | 23:31 |
|
| could someone help me to set up git server? | 23:31 |
| ← jrmuizel left | 23:31 |
|
bachya
| I can, lukas | 23:31 |
|
| Do you have a server already? | 23:32 |
|
lukas
| i'm setting on opensuse 1.11 on VDS | 23:32 |
|
bachya
| Okay - I'm not terribly well versed in OpenSUSE, but I'll try to help. | 23:32 |
| ← lightcap_ left | 23:33 |
| ← sykopomp left | 23:33 |
| ← suman left | 23:33 |
|
lukas
| have these http://pastebin.ca/1665618 packages istalled | 23:33 |
| → joevano joined | 23:34 |
|
bachya
| Are you planning on having multiple users access your git server? | 23:34 |
|
lukas
| yes | 23:34 |
|
| ~2-3 user for now | 23:34 |
| ← mcella left | 23:35 |
|
bachya
| Gitosis is a great option (I use it) - check out this guide: http://progit.org/book/ch4-7.html | 23:35 |
|
| Let me know if you have questions. | 23:35 |
|
lukas
| thants, reading.... :) | 23:36 |
| ← lamont left | 23: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 powerful | 23:39 |
|
Ilari
| bachya: Per-branch write / rewind control, not relying setuptools (its sometimes flaky). | 23:39 |
|
j416
| bachya: http://github.com/sitaramc/gitolite | 23:39 |
|
| check the readme | 23:39 |
|
bachya
| Sick - thanks! | 23:39 |
| ← Weasel[DK] left | 23:40 |
| → ryoma joined | 23:42 |
|
mee
| man, managers *love* gource | 23:42 |
| → vbgunz__ joined | 23:43 |
|
j416
| mee: wow, that looks pretty awesome | 23:44 |
|
bachya
| That is cool. | 23:44 |
| ← imajes left | 23:45 |
| → sykopomp joined | 23:46 |
|
mee
| oh, yeah, it's pretty fun | 23:46 |
|
mugwump
| I'm trying to trick the author into making a git gui based on it :-> | 23:46 |
|
mee
| heh, totally impossible | 23:47 |
|
j416
| hah | 23:47 |
|
bachya
| Okay, so I love Gitolite - I need to figure out how to completely remove Gitosis. | 23:47 |
| ← thermal_ left | 23: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_ joined | 23:50 |
|
bachya
| That's pretty easy | 23:50 |
|
| So remove those + the gitosis commands? | 23:50 |
| → flazz joined | 23:51 |
|
Ilari
| bachya: Note that there may also be non-gitosis stuff in ~git/.ssh/authorized_keys. | 23:51 |
| ← dfr|work left | 23:52 |
| → lamont joined | 23:53 |
| ← blakemizerany left | 23:54 |
| → Aikawa_ joined | 23:54 |
| ← lamont left | 23:56 |
| → lamont joined | 23:56 |
| → blakemizerany joined | 23:56 |
|
lukas
| Ilari: to instal and set up gitolite, do i have to set up anything before? | 23:58 |
| ← cannonball left | 23:58 |
|
ElementalVoid
| help | 23:59 |
|
| bah | 23:59 |
| ← pantsman left | 23:59 |