| 2008-01-08 |
| → agib joined | 00:00 |
|
tpope
| hey bigred-ian | 00:00 |
|
bigred-ian
| tpope: hey man | 00:00 |
|
GSaldana
| to pick edits we use the cherry pick command? | 00:00 |
|
tpope
| pull/merge merges the two branches together | 00:00 |
|
| a new commit is created with two ancestors | 00:01 |
|
Ilari
| GSaldana: If one wants to pick whole commits then cherry-pick is fine. | 00:01 |
| ← YGingras_ left | 00:01 |
|
GSaldana
| else, i have to manually edit? | 00:01 |
|
tpope
| the way rebase basically works is, it removes each commit one by one, making them into patches, until it gets to a common ancestor | 00:01 |
|
| then, it applies those patches in the correct order to the other branch | 00:02 |
|
agreen
| Hi folks --- I was asking here yesterday about why stgit trashed the commit history so I could no longer push to a remote repo I had cloned from, I learned why that was so. But I really like stgit, I am wanting to experiment with a style of the remote repo where it "mirrors" my local tree that I continually use stgit on | 00:02 |
|
tpope
| the end result of a rebase is one continuous history | 00:02 |
|
Ilari
| GSaldana: There are ways to pick whole files... | 00:02 |
|
tpope
| this is generally preferable | 00:02 |
|
| BUT | 00:02 |
|
bigred-ian
| tpope: so if i didn't care so much about history. i could interchange the use of rebase/merge | 00:02 |
|
tpope
| it rewrites the history | 00:02 |
|
| this is a bad thing if you've already shared it | 00:02 |
|
agreen
| What I think I need is a way to truncate the remote branch and then resend the branch I was working on as a fresh remote branch, accepting that I lost the remote history | 00:02 |
| → nashdj joined | 00:03 |
|
Tv
| agreen: look at what "+" means in refspecs, man git-push | 00:03 |
|
tpope
| so generally, you use rebase for simple things that you haven't shared, and merges for more complex things that you have | 00:03 |
|
agreen
| Tv: thanks, I am looking | 00:03 |
|
tpope
| if you don't care about history, you can substitute a merge for a rebase, yes | 00:03 |
|
Ilari
| GSaldana: Following might work: 'git show <commit to pick from> -- <file1> <file2> | git apply --index'. | 00:03 |
|
tpope
| the reverse isn't necessarily true, due to caveats about rewriting | 00:04 |
|
bigred-ian
| tpope, so if i do a pull(or merge) instead of a rebase, then my branch would lose the history of what changes were made in the root branch | 00:04 |
|
Tv
| bigred-ian: pull = fetch + merge | 00:04 |
|
tpope
| the history isn't lost | 00:04 |
|
| it's just shaped differently | 00:04 |
|
bigred-ian
| if history isn't lost, then why even have a rebase. why not just merge? | 00:04 |
|
tpope
| if you do a merge, it looks like an O. it splits and then rejoins | 00:04 |
|
| if you do a rebase, it's a continuous line | 00:05 |
| → orospakr joined | 00:05 |
|
Ilari
| GSaldana: That does not commit through. But it does stage the changes ready for commit. | 00:05 |
|
tpope
| let me draw up the classic ascii art | 00:05 |
| bigon → bigon` | 00:05 |
| → YGingras_ joined | 00:06 |
| → rhalff joined | 00:06 |
|
Tv
| time to pimp this, again: http://eagain.net/articles/git-for-computer-scientists/ | 00:07 |
|
| way better than ascii art ;) | 00:07 |
| → opsis25 joined | 00:08 |
|
bigred-ian
| Tv thanks | 00:08 |
|
Ilari
| Its bit of tradeoff: Rebase leads to nicer history but screws others if not used carefully. Merge leads to messier history but does not screw others even nearly as much... | 00:08 |
|
agreen
| Tv: you rock, I have the power :-) | 00:09 |
|
| Tv: thanks a lot | 00:09 |
|
Tv
| maybe git should try to prevent rebasing commits that appear in any remote branch | 00:09 |
|
| require --force to override or something | 00:09 |
|
bigred-ian
| thanks for clearing it up. the end result of rebase and merge are essentially the same. they do the same thing, just different ways of going about it | 00:09 |
|
tpope
| bah, well I did it anyways | 00:10 |
|
| http://pastie.caboo.se/136460 | 00:11 |
| ← YGingras_ left | 00:11 |
|
Ilari
| The new tip is going to be more or less the same. But other results of rebase are likely completely new things... | 00:11 |
| → YGingras_ joined | 00:11 |
|
opsis25
| when I move a file from one dir to another (using mv not git-mv) I see this in the log: "# deleted: [file name]" and then the it is also listed under the untracked files with the new location. am I suppose to commit both the old (non-existent) file and add the new one? will history be preserved? how do I specify a commit message for the move? | 00:11 |
|
tpope
| opsis25: yes, commit both | 00:12 |
|
| git doesn't track renames in any special way | 00:12 |
|
Ilari
| It attempts to infer the renames if needed (and asked). | 00:13 |
|
opsis25
| so do a 'git commit [old file path] [new file path] -m "my message"'? | 00:13 |
|
| no separate add? | 00:13 |
|
gitster
| "git add old new; git commit" is also fine. | 00:13 |
|
| oops; "git add old" won't work --- you are not adding but removing ;-) | 00:13 |
|
Ilari
| opsis25: -m to commit shouldn't be used except in some quick-and-dirty testing or scripts. | 00:13 |
|
| gitster asks "why not"? | 00:14 |
|
opsis25
| so if I try and get history on the renamed file (not even sure how to do that), will the old history be preserved across the move? | 00:15 |
| ← kristoffer left | 00:15 |
| ← YGingras_ left | 00:16 |
| → YGingras_ joined | 00:16 |
|
opsis25
| mmm... or doesn't git have single file history | 00:16 |
|
| guess not, that's a paradigm shift | 00:16 |
| ← YGingras__ left | 00:17 |
|
bigred-ian
| tpope: thanks for helping me clear it up. they arent as different as i thought they were | 00:17 |
| → sverrej__ joined | 00:17 |
|
tpope
| they are different approaches to the same problem | 00:17 |
| ← HG` left | 00:17 |
|
Ilari
| Single file history and DSCMs don't mix that well... As was discovered several times during Linux kernel BK days... | 00:17 |
|
bigred-ian
| tpope: exactly. but they aren't totally different operations like i thought they were | 00:17 |
|
opsis25
| but if I do a "git log [my moved file]", the old history will still be there? | 00:19 |
|
tpope
| opsis25: it doesn't track renames because when you think about it, those are just one of many special cases, (splitting a file, joining two files, moving stuff from file 1 to file 2, etc etc etc) | 00:19 |
|
| opsis25: but commands like git log have a --follow option that looks for files that were deleted/added in the same commit, and infers renames from that | 00:20 |
| → Ademan joined | 00:20 |
| ← timocratic left | 00:20 |
|
opsis25
| okay, thanks | 00:21 |
| ← agreen left | 00:24 |
| ← sverrej_ left | 00:24 |
|
gitster
| even better is "git blame -C" ;-) that looks for groups of lines (not the whole file) that were copied or moved from elsewhere. | 00:33 |
| → KirinDav joined | 00:36 |
| ← tvachon left | 00:47 |
|
opsis25
| last question about the move stuff: after doing the move will a "git-svn dcommit" include an SVN rename? | 00:48 |
| ← Ademan left | 00:49 |
|
gitster
| I doubt it, but I am not a git-svn person so take that with a grain of salt. | 00:50 |
| ← jmspeex left | 00:54 |
| → jmspeex joined | 00:54 |
| → priidu_ joined | 00:55 |
| ← vintrepid left | 00:56 |
|
opsis25
| just tried it, it marks it as a delete and a copy, not a rename. the history is preserved though because it is a copy. | 00:56 |
| → tvachon joined | 00:57 |
|
aeruder
| opsis25: svn renames are always a copy + delete | 00:59 |
| → |kukks| joined | 01:01 |
|
opsis25
| guess so, I was getting confused with the ViewVC page | 01:02 |
| ← devogon left | 01:04 |
| ← theCarpenter left | 01:05 |
| ← tvachon left | 01:09 |
| → tvachon joined | 01:12 |
| ← kukks left | 01:18 |
| ← GSaldana left | 01:18 |
|
pigeon
| how does git-svnimport handle svn's external item? | 01:21 |
|
opsis25
| it doesn't | 01:21 |
| → sempuki joined | 01:21 |
|
pigeon
| ah | 01:22 |
|
opsis25
| someone has used git submodules to support svn externals though | 01:23 |
|
| http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2007-May/028406.html | 01:23 |
|
| pretty complicated | 01:23 |
|
pigeon
| funny enough, that's exactly the same stuff what i wanted to import (ffmpeg) | 01:24 |
| → _kukks_ joined | 01:25 |
| → jesse joined | 01:28 |
| ← jesse left | 01:28 |
| ← kelvie_ left | 01:30 |
| → _kukks_3 joined | 01:31 |
| → kelvie_ joined | 01:32 |
| ← yeowman left | 01:38 |
|
jfm3
| I think I get git in theory, but I'm still playing with it to learn the details. I've a clone of the source and it's not compiling, breaking on de.msg. What am I doing wrong? | 01:38 |
| → jesse joined | 01:38 |
| ← jesse left | 01:38 |
| → Ademan joined | 01:39 |
| ← KirinDav left | 01:40 |
| ← |kukks| left | 01:42 |
|
gitster
| "apt-get install gettext"? | 01:43 |
| ← cedric_ left | 01:43 |
| → Adam12 joined | 01:44 |
| ← _kukks_ left | 01:44 |
| ← GyrosGeier left | 02:01 |
| → |kukks| joined | 02:04 |
| → soto joined | 02:06 |
| → zapnap joined | 02:07 |
|
soto
| Is the output of 'git diff -p' compatible with the patch command? | 02:07 |
|
Ori_B
| did you try it? | 02:09 |
| ← orospakr left | 02:10 |
|
Ori_B
| (quick answer: yes, but you need -p1 to ignore the "a/" that git-diff gives the file name) | 02:10 |
|
soto
| Ori_B: The git header is ignored by patch? | 02:11 |
|
| Ah never mind, patch man page says it tries to skip any leading 'garbage'. | 02:12 |
|
| Ori_B: Thanks | 02:12 |
|
Ori_B
| np | 02:12 |
|
Ilari
| Hmm... Does git diff need explicit switch to enable binary diffing? Those things definitely aren't compatible. | 02:13 |
| → yeowman joined | 02:13 |
|
aeruder
| Ilari: actually at one point there was a bit of a problem with the diff code in git | 02:14 |
|
| mostly in that sometimes it didn't detect binary files correctly, and regardless, the diff code could fail to apply its own output | 02:14 |
| ← soto left | 02:19 |
| ← lamont left | 02:20 |
| ← _kukks_3 left | 02:20 |
| → FunkeeMonk joined | 02:20 |
| → lamont joined | 02:21 |
| → zed_ joined | 02:22 |
|
sempuki
| when doing a rebase, how can I skip a commit? I thought I could use git rebase --skip, but it keeps telling me "Dirty index: cannot apply patches (dirty: CONTRIBUTORS.txt)" | 02:23 |
| → kmap joined | 02:24 |
|
aeruder
| sempuki: that means just undirtyfy CONTRIBUTORS.txt and then use --skip | 02:24 |
|
| i.e. | 02:24 |
| ← \ask_ left | 02:24 |
|
aeruder
| git checkout HEAD -- CONTRIBUTORS.txt | 02:24 |
|
| git rebase --skip | 02:24 |
| ← tvachon left | 02:24 |
| ← rhalff left | 02:26 |
|
sempuki
| I ran: | 02:26 |
|
| $ git checkout -f foo | 02:26 |
|
| $git rebase bar | 02:27 |
|
| how could it have been "dirty"? | 02:27 |
|
aeruder
| i know, and i'm saying that it tried to rebase, it failed | 02:27 |
|
| it left it in a unmerged state | 02:27 |
|
| you need to clean it up | 02:27 |
| → imyousuf joined | 02:27 |
|
aeruder
| imyousuf: hey, any luck? | 02:27 |
|
sempuki
| hrm, I guess I didnt/dont understand the meaning of "dirty" | 02:28 |
|
imyousuf
| hi aeruder | 02:28 |
|
aeruder
| sempuki: dirty = having local changes | 02:28 |
|
imyousuf
| yes, with help from gitster I could actually determine the reason of such behavior | 02:28 |
|
aeruder
| sempuki: when the rebase fails, it will put the file into an unmerged state, conflict markers and all | 02:28 |
|
| i.e. diry | 02:28 |
|
sempuki
| ah, so that means everytime that it partially applies a diff its dirty? I thought that case was magically taken care of | 02:28 |
|
aeruder
| *dirty | 02:28 |
|
sempuki
| now I know, thanks! | 02:28 |
|
imyousuf
| aeruder: the git-clone script sets and exports the GIT_DIR environment variable which is used by git ls-files | 02:29 |
|
aeruder
| aha! | 02:29 |
|
| that makes sense | 02:29 |
|
imyousuf
| since the GIT_DIR is set to the top level repo it does not work at level 1 | 02:29 |
|
| for test purpose i unset GIT_DIR before my recursion starts and at the end of the recursion I restored and exported the old value | 02:30 |
|
| and it works fine now | 02:30 |
|
aeruder
| good deal | 02:30 |
|
| glad you figured it out | 02:30 |
|
| read: i'm lazy | 02:30 |
|
imyousuf
| thank you for the help as well aeruder | 02:30 |
|
| btw do you and anyone in channel know if do unset GIT_DIR in git-clone what else should I set? I am not "setting" any environment variable | 02:31 |
|
aeruder
| mm... there's a GIT_CONFIG too, not sure if that is important for you though | 02:33 |
|
| probably not | 02:33 |
|
imyousuf
| I see | 02:34 |
|
| ok, if I search with [GIT].*=i with VI in the git-clone I get 3 (variables) sets and exports | 02:36 |
|
| GIT_DIR, GIT_CONFIG and GIT_WORK_TREE | 02:36 |
|
aeruder
| o | 02:36 |
|
| probably all important for you :) | 02:36 |
|
imyousuf
| :) | 02:36 |
|
| For safety I will back them all up and again restore them after recursion :) | 02:37 |
| ← bobesponja left | 02:38 |
|
imyousuf
| what does this line mean? - export GIT_DIR && GIT_CONFIG="$GIT_DIR/config" git-init $quiet ${template+"$template"} || usage | 02:39 |
|
aeruder
| which part | 02:40 |
|
imyousuf
| aeruder: the significance of && and || | 02:42 |
|
aeruder
| && is like ; but only when the previous command exits successfully | 02:43 |
|
| || is like ; but only when the previous command exits unsuccessfully | 02:43 |
|
imyousuf
| ok | 02:43 |
|
| got it, thanks aeruder | 02:43 |
|
Ori_B
| ooh, neat. when did git get sumbodule support? | 02:46 |
|
| and is there a tutorial on how to use it? | 02:47 |
|
imyousuf
| I think from 1.5.3 | 02:47 |
|
| the tutorial is in the manual Chapter 8 if I am not mistaken | 02:47 |
|
aeruder
| Ori_B: if you want to use submodule stuff | 02:47 |
|
| i'd recommend using as new of a git as you can ;) | 02:48 |
| ← zapnap left | 02:48 |
|
Ori_B
| aeruder: nothing urgent, just something that I can see being useful in the near future | 02:48 |
|
| 1.5.3.7 seems to have the command, at least | 02:48 |
|
aeruder
| yeae, that'd be plenty new :) | 02:49 |
|
imyousuf
| aeruder: I just pushed the latest modification, the one that actually does what was intended originally. If you have time have a look and let me know what you think | 02:49 |
| → ironfroggy joined | 02:50 |
| → sunblush joined | 02:54 |
| jwb → jwboyer | 02:56 |
| → tvachon joined | 02:56 |
| ← tvachon left | 02:56 |
| → stick joined | 02:59 |
| → cmacleod joined | 03:02 |
| ← cmacleod left | 03:02 |
| ← stick left | 03:02 |
| → cmacleod joined | 03:02 |
| jwboyer → jw | 03:06 |
| jw → jwb | 03:06 |
| ← tongueroo left | 03:11 |
| cmacleod → stick | 03:12 |
| → KirinDav joined | 03:13 |
|
gitster
| When talking about features, comparing 1.5.3 and 1.5.3.7 is meaningless ;-). | 03:14 |
| ← sgrimm left | 03:18 |
| ← Ademan left | 03:20 |
|
Debolaz
| Are there any up to date technical comparisons of git and mercurial? | 03:24 |
|
Tene
| diff -r ~/src/git ~/src/hg | 03:29 |
|
| ;) | 03:29 |
|
Debolaz
| On the internet, everyone thinks they are a good comedian. :-P | 03:30 |
|
Tene
| On the internet, the only audience that matters is me. :-P | 03:30 |
| ← opsis25 left | 03:47 |
| → opsis25 joined | 03:55 |
| → nicolai joined | 03:56 |
|
clee
| Debolaz: git is better, of course. | 04:02 |
|
| Debolaz: (what would you expect people in #git to say, dude?) | 04:02 |
| ← jfm3 left | 04:08 |
|
Debolaz
| I would expect them to answer the actual question or make jokes about it, not make up a question I didn't ask and answer that. :) | 04:09 |
|
clee
| Debolaz: dude, you're on IRC | 04:09 |
|
| c'mon now | 04:09 |
| ← a-atwood left | 04:10 |
| → bartman joined | 04:10 |
|
clee
| Debolaz: seriously though, I'm not aware of any up-to-date comparisons per se, but most of the git fundamentals haven't changed too much | 04:10 |
|
| I don't really follow hg development but I suspect that it hasn't gotten radically different either | 04:10 |
|
| the big difference for me, and the reason I tend to prefer git for my own projects, is that (last time I checked) hg doesn't support multiple branches inside of a single repo/working copy | 04:10 |
|
| so, if you want to branch for a new feature, you have to do a new clone in hg | 04:11 |
|
| (again, my knowledge may be out of date!) | 04:11 |
|
| whereas, in git, branching is so lightweight you may think that it didn't actually happen because it happens so fast | 04:11 |
|
sempuki
| the impression I had is that git and hg were rapidly approaching each other, and that if they arent the same now, they will be soon | 04:14 |
|
| except one is in C the other python... | 04:15 |
|
| but thats just an impression of a user | 04:15 |
|
clee
| sempuki: well, C/shell/perl/etc | 04:15 |
|
sempuki
| clee: and python is mostly implemented in terms of C is it not? :) | 04:16 |
|
clee
| yep | 04:17 |
|
| well, except for IronPython and JPython. | 04:17 |
|
sempuki
| true | 04:17 |
|
| Debolaz: go with whatever your friends/colleagues like/know best, or has the best documentation, because the hardest part is learning how to use it correctly | 04:18 |
|
Debolaz
| Still, what I want is a comparison of technical qualities, not personal preferences. | 04:19 |
|
| Performance, features and maturity of features, etc. | 04:20 |
|
clee
| performance is basically a wash, though in a few cases I think git is still faster | 04:20 |
|
| however, I heard that hg could compress version history slightly better than git at one point | 04:20 |
|
| for most projects that doesn't really matter *too* much | 04:20 |
|
| they're both far more disk-efficient than svn | 04:20 |
| ← agib left | 04:26 |
| ← |kukks| left | 04:27 |
| → k_dub joined | 04:28 |
| ← k_dub left | 04:29 |
| → tongueroo joined | 04:30 |
|
imyousuf
| vmiklos: I submitted another patch (recursion over submodules) today | 04:30 |
| → wayneeseguin joined | 04:31 |
|
imyousuf
| did you read that? | 04:31 |
| ← KirinDav left | 04:31 |
|
imyousuf
| vmiklos: btw thanks for the hints | 04:33 |
| → jesse_ joined | 04:40 |
| ← yeowman left | 04:41 |
| ← jesse_ left | 04:46 |
| ← bartman left | 04:46 |
| ← FunkeeMonk left | 04:47 |
|
imyousuf
| If I want to prepare a patch does the patches has to be with respect to a particular GIT version (e.g. 1.5.3.7) or git.git repo? | 04:49 |
|
aeruder
| imyousuf: see SubmittingPatches | 04:51 |
| → jesse_ joined | 04:53 |
| jesse_ → anotherjesse | 04:53 |
| → agib joined | 04:53 |
| ← anotherjesse left | 04:53 |
| → bartman joined | 04:55 |
| → sgrimm joined | 05:00 |
|
imyousuf
| thank you aeruder | 05:00 |
| → fhobia joined | 05:03 |
| ← stick left | 05:08 |
| → cmacleod joined | 05:09 |
| ← cmacleod left | 05:09 |
| → bartman` joined | 05:19 |
| ← bartman left | 05:19 |
| ← zed_ left | 05:20 |
| ← RobotDeathSquad left | 05:24 |
| ← rkaway left | 05:28 |
| ← fhobia left | 05:31 |
| → rkaway joined | 05:31 |
| → kanru joined | 05:32 |
| → RobotDeathSquad joined | 05:36 |
| ← RobotDeathSquad left | 05:36 |
| ← YGingras_ left | 05:39 |
| ← bigred-ian left | 05:43 |
| → YGingras joined | 05:47 |
| ← YGingras left | 05:50 |
| → YGingras joined | 06:01 |
| ← tongueroo left | 06:11 |
| → fhobia joined | 06:11 |
| → FunkeeMonk joined | 06:22 |
| ← vbgunz left | 06:29 |
| → mediogre joined | 06:30 |
|
wagle
| how do you start a new root commit in a repository? alternatively, how do you get rid of a root commit, and make its child the root commit in a new (rebased?) branch of commits? | 06:36 |
| → TuxCM- joined | 06:42 |
|
gitster
| (1) you don't. you may have an independent history that originates in a totally separate repository and fetching from that repository may result in your repository having more than one root, though. | 06:45 |
|
| (2) unfortunately you cannot. Such an initial mistake in an empty repository needs to be redone from scratch. This we may have to fix it, though. --- come to think of it, I suspect you may be able to "git commit --amend" the root commit, which would have the same efffect, though. | 06:47 |
| → vbgunz joined | 06:50 |
|
imyousuf
| after generating the patch using git format-patch -M <commit_sha1> how do I add it to the email? simply copy and paste? | 06:58 |
| ← TuxCM left | 06:58 |
|
Tene
| imyousuf: attach it | 07:03 |
|
imyousuf
| Tene: thanks, will attach the .patch file | 07:03 |
|
Auris-
| some how I've understood that you should not attach because then people cannot quote lines from the patch when they are commenting. | 07:06 |
|
wagle
| ok.. heres the problem.. back when i barely knew git, I wrote some scripts in the root directory of a git-repository. first thing i did was to branch from the remote commit. second thing i did was to delete everything, and commit that. after that, I started programming and committing. now we want to put some of those scripts into a completely different git-repository. i was able to fetch the branch as a branch with a new root | 07:06 |
|
| , but need to get rid of the root and maybe its child before i can merge it. this is also an exercise is learning how to do hard/clever things with git.. 8) | 07:06 |
|
floppyears
| hi guys | 07:07 |
|
imyousuf
| Auris-: in that case how should I add the patch? | 07:07 |
|
wagle
| it could be done with cherry-pick if i could cherry-pick a new root, or cherry-pick from another repository | 07:08 |
|
floppyears
| if there are files with certain extensions that I want git to ignore can I use one global .gitignore file or do I have to have 1 .gitignore file in each directory ? | 07:08 |
|
Auris-
| imyousuf, I'm not really sure, sorry. I think there are guidelines at a website. | 07:08 |
|
wagle
| floppyears, i think a careful reading of "man gitignore" will answer your question | 07:10 |
|
gitster
| imyousuf: your earlier question about sending patches. Either read in your MUA (the procedure depends on the client, SubmittingPatches has some hints but I recently noticed that the kernel folks have more extensive insns in their Documentation/email-clients.txt file --- we may want to snarf it someday) | 07:10 |
|
| or "git-send-email". | 07:10 |
| → devogon joined | 07:12 |
|
floppyears
| wagle: thanks. I already had the .gitignore setup to ignore the files I don't want. These files in the index I guess were just old | 07:12 |
|
gitster
| floppyears: "*.txt" in .gitignore at toplevel will ignore all *.txt files (e.g. foo.txt, bar/boz.txt). "/*.txt" in .gitignore at toplevel will tell git to ignore all *.txt files at the toplevel (e.g. foo.txt is ignored, bar/boz.txt is not). "*.txt" in bar/.gitignore will tell git to ignore all *.txt files in bar/ and down below. | 07:12 |
|
| Quiz. What does "/*.txt" in bar/.gitignore ignore? | 07:13 |
|
imyousuf
| gitster: thank you, I will first try git-send-email and then read the kernel documentation. I will send the first email to my self for safety :) | 07:21 |
| ← agib left | 07:23 |
| → harinath joined | 07:24 |
| Toad → NotToad | 07:26 |
| NotToad → Toad | 07:27 |
|
Auris-
| gitster, ignores *.txt in bar/ but not down below? | 07:30 |
| → Dodji joined | 07:31 |
|
gitster
| Auris-: correct. | 07:34 |
|
Auris-
| yay. | 07:35 |
| dwmw2_gone → dwmw2 | 07:36 |
|
wagle
| how lame.. you can fetch into a brand-new repository, but you can't cherry-pick from it | 07:40 |
|
floppyears
| hi guys | 07:45 |
|
| I use mantis to keep track of bugs | 07:45 |
|
| Is there a way to integrate the 2 ? Meaning if I commit a message, and I specify the mantis bug #, it would then add a note or some info to mantis ? | 07:46 |
| metze_away → metze | 07:47 |
|
gitster
| Will _all_ your commits be created locally (or at least on the machine that has access to your mantis installation)? | 07:48 |
|
| If yes, probably post-commit hook would be the thing to use for such a hack. | 07:49 |
| thiago → thiago_home | 07:49 |
|
floppyears
| gitster: awesome thanks gitster | 07:50 |
|
gitster
| I would not recommend that myself, though. | 07:50 |
|
| I am assuming that you would have a centralized installation of mantis (perhaps it is not even a "distributed bug tracking system"). A better alternative is probably to have a repository on the same machine as you have that installation, and drive that "commit to mantis" from post-receive hook, after you push into that repository. | 07:52 |
|
| That way, you can experiment all you want, even with a commit log message "This fixes bug #2326" and you will be safe until you actually push it out, even if you later find out that the fix was faulty and did not really fix it. The commit log while you are experimenting, rebasing and amending won't contaminate your mantis tracker. | 07:53 |
|
halorgium
| floppyears: you'd want to have a simulated centralised repo which drives the mantis integration | 07:54 |
|
floppyears
| halorgium: that's pretty much what I have. I do development on my ubuntu server which has the central repo of my code and also has mantis installed | 07:55 |
| ← mithro left | 07:55 |
|
gitster
| Then post-receive hook on that central repository is the way to go. | 07:55 |
|
floppyears
| thanks guys | 07:56 |
|
imyousuf
| gitster: is there a significant difference between `sed -n -e 's/^path = //p' .gitmodules` and `grep "path =" .gitmodules | awk '{print $3}'`? | 07:56 |
|
gitster
| I think our scripts avoid awk. | 07:56 |
|
imyousuf
| ah I see | 07:56 |
|
gitster
| But not mergetool ;-) | 07:56 |
|
| I should rewrite that someday. | 07:57 |
|
imyousuf
| and how can I use expr ' '.* instead of expr index ' '? | 07:57 |
|
gitster
| also yours have two processes piped together when one sed is enough. | 07:57 |
|
imyousuf
| sorry not how can but can I? | 07:57 |
|
gitster
| What are you trying to achieve? | 07:57 |
|
| I do not like the way you quoted the string for shell safety to begin with. | 07:58 |
|
imyousuf
| finding whether there is space in the string | 07:58 |
|
gitster
| I feel much safer if a script does (1) replace all occurences of single quote with '\'' (sq bq sq sq) and (2) surround the result with single quote pair. | 07:59 |
|
| See the comment at the beginning of quote.c. | 07:59 |
|
imyousuf
| ok | 07:59 |
|
gitster
| There may be 47 other ways to safely quote strings, but if the code sticks to one style that is known to work, it is less work for reviewers and people who later want to muck with the code. | 08:00 |
|
imyousuf
| I fully agree with it thus asked it | 08:01 |
|
jeffpc
| gitster: awk '/^path =/{print $3}' < .gitmodules | 08:01 |
|
| :) | 08:01 |
|
imyousuf
| actually if -m "test commit" is passed as argument then when evaluating the git-commit I should send -m "test commit" instead of just commit | 08:02 |
|
gitster
| imyousuf: The first message sent to the list before you started to show your code to the list made it sound as if you are near-illiterate in shell scripting, but I found your scripts reasonably well disciplined. | 08:02 |
|
imyousuf
| that is why I did quoting | 08:02 |
|
| I know reasonable amount of scripting but not as good as you guys | 08:03 |
|
| I needed to learn from you all actually :) | 08:03 |
|
gitster
| Do you mean 'git submodule recursive commit -m "test commit"' results in 'git commit -m "test commit"'? | 08:03 |
|
imyousuf
| as I mentioned earlier I am primarily a java developer and you all have helped me a lot thanks for that | 08:03 |
|
| not it does so, yes gitster | 08:03 |
|
gitster
| (all these in-sentence quoting makes this hard...) | 08:04 |
|
imyousuf
| yes, that is why I needed to wrap the test commit before eval | 08:04 |
|
gitster
| If you have the remainder of the command line in $@ (by shifting away "submodule", "recursive"), you can do eval '"$@"' ;-) | 08:05 |
|
| without any of your own quoting. | 08:05 |
|
imyousuf
| I see | 08:06 |
|
| I thought that might not work actually :) | 08:06 |
|
| will give it a try | 08:06 |
|
gitster
| again, lack of in conversation quotes makes it harder to read it, but what I meant is you literally tell eval to evaluate dq dollar at dq. | 08:06 |
| ← madewokherd left | 08:07 |
|
gitster
| Or at that point, perhaps even without eval. Just "$@" ;-) | 08:07 |
|
imyousuf
| got it | 08:07 |
|
| will try both and keep the shorter one :) | 08:07 |
| ← kanru left | 08:08 |
|
gitster
| shell knows its own syntax the best. The best strategy to safely quote strings is avoid having to quote at all. | 08:09 |
|
wagle
| wow.. you can merge from a branch from a different root, and it does what you want | 08:10 |
|
gitster
| pretty cool, isn't it? | 08:12 |
| ← anttih left | 08:12 |
|
wagle
| i was starting to expect that i'd set myself on a wild goose chase with these multi-root things, and that you probably couldnt merge from two different roots | 08:13 |
|
| (why i used "want" instead of "expect" above) | 08:13 |
|
gitster
| what are you trying to achieve with the multi-root thing, may I ask? We have it primarily as a way to fix earlier mistakes of not starting two things that should have been done in the same history. | 08:14 |
|
wagle
| merging two different projectsw | 08:14 |
|
| merging two different projects | 08:14 |
| ← fhobia left | 08:14 |
| → srid joined | 08:14 |
| → Zhou joined | 08:15 |
|
wagle
| the first complication was that i forked from another project first, and wanted to remove that historical baggage | 08:16 |
| → aarapov joined | 08:23 |
| ← sgrimm left | 08:24 |
| ← mediogre left | 08:24 |
|
imyousuf
| After editing a file if I do git-reset HEAD will revert my changes? | 08:27 |
| → marcel joined | 08:28 |
|
imyousuf
| *will it | 08:28 |
|
Mikachu
| only with --hard | 08:29 |
|
| git reset on its own just resets the index | 08:29 |
|
| so it will undo any git add you've done | 08:29 |
| ← harinath left | 08:29 |
|
imyousuf
| I see | 08:30 |
|
| so git-reset --hard HEAD will revert changes, thanks Mikachu | 08:30 |
| ← Zhou left | 08:33 |
| → |zeal| joined | 08:35 |
| → Oejet joined | 08:38 |
| ← johan-s left | 08:45 |
| → rphillip1 joined | 08:46 |
| → thiago joined | 08:48 |
| → Rogan joined | 08:56 |
|
Rogan
| Hi folks, I am dealing with DOS-format files - i.e. that end with CR/LF. I have a bunch of files with trailing whitespace (apart from the CR) that I'd like to clean up automatically. However, git-apply --whitespace==strip also takes off the CR, which I don't want | 08:57 |
|
| any idea how to strip trailing spaces, but not the ^M? | 08:58 |
|
Mikachu
| i'm not sure, but see the crlf stuff in man gitattributes | 08:58 |
| ← rphillips left | 08:59 |
|
Rogan
| Also, is it possible to get cherry-pick to do this automatically for me? At the moment, I am dinking around with doing the cherry-pick, resolving the conflicts, making a patch, reset --hard, apply the patch with whitespace=strip, then committing | 08:59 |
|
| core.autorclf doesn't offer any solution for folks that actually WANT CRLF in the repo | 09:01 |
|
Mikachu
| ah, okay | 09:02 |
|
Rogan
| maybe the filter option would be what I'm looking for. Does anyone have any idea how it is supposed to work? | 09:07 |
|
Mikachu
| you could just run something like sed -i 's/ *$//g' *.c or whatever | 09:07 |
| → TuxCM joined | 09:12 |
| → twork__ joined | 09:14 |
|
twork__
| hi - git-describe will tell me the commit reachable to a tag, but is there a way to indicate whether a *file* is reachable to a tag (i.e., git-describe for files?) | 09:15 |
| ← TuxCM- left | 09:17 |
| → octopod joined | 09:17 |
|
Rogan
| twork__: I'd say that that would be a lot harder. You'd need to figure out which commits that file appeared in first, and then continue as usual | 09:17 |
|
gitster
| "git ls-tree -r $commit | grep $file" ;-) | 09:18 |
|
Rogan
| well, for i in <commits>; do git ls-tree -r $commit | grep $file ; done | 09:19 |
|
| or thereabouts | 09:19 |
|
twork__
| i'm trying to emulate cvs tagging in git -- or maybe i'm going about it the wrong way. | 09:20 |
|
gitster
| what's being asked for? The first time a path appears in the chain of commits? | 09:20 |
|
Rogan
| yes, I think you are | 09:20 |
|
| see gitattributes: $id$ | 09:20 |
|
| this discussion has come up repeatedly. General emulation of CVS tagging doesn't make sense in git | 09:20 |
|
gitster
| If you want to know the boundary commit whose parent does not have a path $path but the commit itself does, you would do "git log --diff-filter=A -r -- $path". | 09:20 |
| → johan-s joined | 09:21 |
|
Rogan
| gitster: you implemented smudge and clean filters in April last year, and I am trying to use them to allow me to maintain a CRLF ended file in my repo. How can I tell if the filter is actually being called? | 09:22 |
|
gitster
| How can you tell? Perhaps add a debug printf in your filter script? Run git under gdb? | 09:22 |
|
Rogan
| Ok, I'll try a debug filter that calls the real one | 09:23 |
|
gitster
| About the "fiters" there is one caveat. If you define a filter _after_ you check things out, "git checkout" won't change a thing. You would need to do something to cause the actual checkout to happen, as we try very hard not to check out things that did not change between the filesystem and the index. | 09:24 |
|
imyousuf
| gitster: making the submodule command change under master - ok? | 09:24 |
|
Rogan
| yes, I realise that. My checkout filter is just "cat". I have specified unix2dos as the checkin filter | 09:25 |
|
gitster
| imyousuf: ? | 09:25 |
|
| you do not have to define them as pairs (cat can be omitted, that is). | 09:26 |
|
Rogan
| right, ok | 09:26 |
|
imyousuf
| gitster: introducing variable command to be used instead of case "$add,$init,$update" .... in git-submodule.sh | 09:27 |
|
gitster
| imyousuf: sounds like a useful clean-up. | 09:27 |
|
| post 1.5.4, that is. | 09:27 |
|
imyousuf
| yes, you said that to me over email and I agreed | 09:27 |
|
| not a issue when it will be released | 09:28 |
|
Rogan
| it seems that git-config doesn't throw an error if the config file is not writable | 09:28 |
|
| so my attempts to set up the filter were silently ignored | 09:28 |
|
imyousuf
| so before resending my patches I will first send that, gitster. Will doing the changes in master branch | 09:28 |
|
Rogan
| which explains why the filter was not executed | 09:28 |
|
gitster
| Heh, that's a nice bug. I personally almost never use git-config for writing as I do not trust that code X-<. Patches would be very welcome as we are really trying to stabilize things before the release. | 09:29 |
| → theCarpenter joined | 09:30 |
|
Rogan
| to test: chmod -w .git/config; git config filter.mycrlf.clean=unix2dos; echo $? | 09:30 |
|
| returns 1, but no error message is shown | 09:30 |
|
| sorry, my C is non-existent | 09:30 |
|
| shall I send a mail to the list? | 09:30 |
|
gitster
| That sounds like something else. I do not think we write things in place. | 09:30 |
|
Rogan
| hmmm, you are right, I think | 09:31 |
|
gitster
| That is, mode of .git/config itself should not matter, as we do (1) create .git/config-new and write into it, and then (2) rename .git/config-new to .git/config, or something like that. | 09:31 |
|
| Unless .git/ itself is unwritable for you, but that sounds utterly implausible given you have bunch of stuff in your repository. | 09:32 |
|
| Ah, returns 1 but no error message is shown. | 09:33 |
| ← aarapov left | 09:34 |
| ← sempuki left | 09:34 |
|
Rogan
| .git is definitely writeable, and actually, so is .git/config. Was my mistake there. But I still get the $1 return code, and no changes to the config file for some reason | 09:35 |
|
gitster
| Yup, can reproduce. I'd dig this if I have time sometime but not tonight (past midnight here) | 09:35 |
|
| Thanks for reporting. | 09:35 |
|
Rogan
| off to bed :-) | 09:35 |
|
| no problem. Thanks for all your work on git | 09:36 |
| → saimon joined | 09:37 |
|
gitster
| Heh, that's not a bug but PEBCAK. You fooled me. | 09:38 |
|
| "git config filter.mycrlf.clean unix2dos" | 09:39 |
|
| There is no = sign there. | 09:39 |
|
Rogan
| ah | 09:39 |
|
| doh | 09:39 |
|
gitster
| doh, I did not notice myself (I said I do not use that, didn't I?) | 09:39 |
|
Rogan
| so the $?=12 is because a key was not found | 09:39 |
|
| er, $?=1 | 09:39 |
|
gitster
| There should be a better error message. | 09:39 |
|
| So it is still a bug but is a bit different from what we originally thought. | 09:40 |
| → namenlos joined | 09:41 |
|
Rogan
| ok, I have the filters executing, but I'm obviously doing something wrong | 09:42 |
| ← sverrej__ left | 09:43 |
|
Rogan
| I have no smudge filter defined, but if I delete my working tree and force a checkout (git reset --hard), my entire working tree is shown as modified, and the CRLF has been removed from the files | 09:43 |
|
gitster
| t/t0021 may be of help of you have the source handy. | 09:43 |
|
Rogan
| ok, will check it | 09:44 |
|
| Thanks | 09:44 |
|
gitster
| If you have clean filter that is unix2dos (does that mean you _WANT_ CRLF in the objects, not just checkout???), and cat as smudge (or no smudge), then... | 09:44 |
| → BHoltzman joined | 09:45 |
| ← BHoltzman left | 09:45 |
|
gitster
| reset --hard would read objects, and write it out as-is to your work tree. | 09:45 |
|
twork__
| Sorry for the delay -- what i'm after is for a some file, doesn't matter what it is -- it could be a collection of files to know whether or not it has been "tagged" (like you have in CVS). The functionality of git-describe using the SHA1s is fine for this, I'd just want to be able to say something like: git describe -- ./* and for all files in there to be looked against to see if they reached a tag or not. | 09:45 |
| → kanru joined | 09:46 |
|
gitster
| Then, when comparing the index with the work tree, the work tree is converted through smudge (so it will modify LF in work tree to CRLF) and then compare what is recorded in objects and the index. Maybe you have LF endings in the repository? | 09:46 |
|
| That would explain "everything changed", because everything did. Your next check-in will make a tree full of CRLF terminated files. | 09:47 |
|
imyousuf
| If I have changed multiple files and want to revert the change of 1 of them, how should I do it? | 09:48 |
|
gitster
| "files" in the sense that the blobs you track from then on will be terminated with CRLF (which is an odd wish, though). | 09:48 |
|
| "git checkout that-path this-path" | 09:48 |
|
imyousuf
| thanks gitster | 09:48 |
|
gitster
| that is before "git add that-path this-path". If you have done that, | 09:48 |
|
| "git checkout HEAD that-path this-path". | 09:48 |
|
imyousuf
| got it | 09:49 |
|
gitster
| Read these as "check out that-path and this-path from the index", and "check them out from HEAD commit". | 09:49 |
|
| This form is quite different from "switch to that branch: git checkout that". | 09:49 |
|
imyousuf
| ah thats nice | 09:50 |
| → mediogre joined | 09:50 |
|
imyousuf
| is git-add changed-file encouraged or git-commit -a? | 09:50 |
|
gitster
| Many new people actually find these two completely separate semantics confusing. | 09:50 |
| ← wagle left | 09:51 |
|
gitster
| depends on the way you work. both are equally supported. | 09:51 |
|
imyousuf
| I see, which would you consider as a better practice? | 09:52 |
|
gitster
| what's frowned upon by some people, although we do try supporting it equally well as other ways, is "git commit this-path that-path" (partial commit). | 09:52 |
|
| all three have their uses. | 09:52 |
|
| I do not think there is "better practice" vs "not so good one". | 09:52 |
|
Rogan
| gitster: Yes, I *WANT* CRLF endings in the repo, since I am interacting with an SVN repo operated by someone else | 09:53 |
|
imyousuf
| ah ok, thanks for the detailed explanation gits | 09:53 |
|
gitster
| Rogan: quite reasonable. | 09:53 |
|
imyousuf
| * gitster | 09:53 |
|
Rogan
| however, I didn't realise that when checking the status it would run my clean filter | 09:53 |
|
| does that really make sense? | 09:53 |
|
gitster
| Of course. Otherwise, it wouldn't be "cleaning". | 09:54 |
|
| What you are seeing is an inevitable glitch in the priming stage, if I am not mistaken. You have your objects without CR and you are trying to fix, aren't you? | 09:55 |
|
| Debolaz ponders writing up a comparison of git and mercurial, not finding preexisting with any informative content of recent origin. | 09:55 |
|
Rogan
| no, the repo actually contains CRLF terminated files | 09:55 |
|
| all I really want to do is make sure that all the changes that I commit maintain that CRLF ending | 09:55 |
|
gitster
| Maybe I am not getting what you are doing then. Your work tree files have CRLF? | 09:56 |
|
| After reset --hard, that is. | 09:56 |
|
Rogan
| in the face of stripspace=fix which takes the CR away at the same time as it takes trailing spaces and tabs | 09:56 |
|
| yes, they do | 09:57 |
|
gitster
| Maybe your unix2dos is not doing unix2dos? Does it take options (I do not know offhand how we are handling custom commands with options)? | 09:57 |
|
Rogan
| well, this is what I actually have | 09:58 |
|
| vi -b file <- shows ^M | 09:58 |
|
| cat file | dos2unix | unix2dos > /tmp/t | 09:58 |
|
| diff file /tmp/t | 09:58 |
|
| no differences | 09:58 |
|
gitster
| I am assuming you are on Unix? | 09:59 |
|
Rogan
| however, git diff file shows -...^M, +...$ | 09:59 |
|
| yes | 09:59 |
|
| where $ is just the end of line | 10:00 |
|
gitster
| That's interesting. | 10:00 |
|
Rogan
| I run dos2unix first to get to a poin where the whole file is in unix format, rather than some lines with CRLF and some lines without (thanks to apply --stripspace) | 10:01 |
|
imyousuf
| can I added a body to an email which I am using to send out patch using git send-email? | 10:03 |
|
| *add a | 10:06 |
| → a-atwood joined | 10:08 |
|
arw_
| imyousuf: --compose i guess | 10:09 |
|
imyousuf
| ah thanks arw_ | 10:10 |
|
arw_
| or send an email before the patch series and pack the message-id into --in-reply-to | 10:10 |
| → janm joined | 10:10 |
|
imyousuf
| missed that in the option in the manual in midst of the rest :) | 10:10 |
| → chris2 joined | 10:12 |
|
twork__
| Is there anything in git which can take a path and spit out commits relative to that path? | 10:14 |
|
DrNick
| define "relative" | 10:15 |
|
twork__
| Well, commits that contains changes to files under that path. | 10:16 |
|
gitster
| "git log -- path"? | 10:18 |
|
| if you want only commit object names substitute log with rev-list. | 10:19 |
|
twork__
| git cherry branch1 branch2 gives a list of SHA1s -- I'd like a list of files that are in that SHA1. | 10:20 |
|
gitster
| do you mean s/that SHA1/those commits/? | 10:21 |
|
twork__
| Yes. | 10:21 |
|
| [thomas@ubuntu smoothwall]% git cherry guardian-update1 master | 10:21 |
|
| + c8fd4f01bb97df3500e4d03abbf42832b8593211 | 10:21 |
|
| + 236c065c3a37f5d961aac5584594dd3937d62798 | 10:21 |
|
gitster
| "for c in these-commit-object-names; do git-ls-tree -r $c; done"? | 10:22 |
|
twork__
| So given those commits, what files are in them? | 10:22 |
|
| Ah ha. | 10:22 |
|
| twork__ tries. | 10:22 |
|
twork__
| :) Thank you. | 10:22 |
| → reval joined | 10:22 |
|
gitster
| but is that what you really want? | 10:22 |
|
| you will get tons of duplicates because in a usual history most of the files stay the same between commits. | 10:23 |
|
twork__
| Not quite what we want... | 10:24 |
| ← dysinger left | 10:24 |
|
twork__
| for instance, git ls-tree d5442 lists tonnes of stuff, yet the information from git show d5442 shows only one file -- it's that information I'd like to get. | 10:25 |
|
gitster
| so what are you trying to achieve? for example, "git log --name-only --pretty=format:%H -m $from_this_commit..$to_that_commit" would show only the names of paths that were affected by each commit. | 10:26 |
| → sverrej joined | 10:26 |
| ← YGingras left | 10:26 |
| → YGingras joined | 10:27 |
| ← Catfish left | 10:27 |
| ← Sho_ left | 10:30 |
|
Rogan
| ok, I've got myself into a VERY weird situation. I've previously resolved a merge, and saved it as a patch. It modifies one file (.java), and creates 2 others, one java and one html. I apply it with git-apply --whitespace=strip, and get no errors, other than whitespace warnings. "git status" shows the modified file, and the new .html file, but does not show the new .java file | 10:34 |
|
| however, the file is there. Even if I explicitly add it, git refuses to acknowledge its existence | 10:35 |
|
Mikachu
| twork__: maybe you can do git show abc123|lsdiff | 10:35 |
|
| (depends on patchutils) | 10:36 |
|
Rogan
| I have checked my .gitignore, and it doesn't match anything there | 10:36 |
| ← YGingras left | 10:37 |
| → YGingras joined | 10:37 |
|
maks_
| hmm if i fetch somebody pull request where do i see those commits? | 10:38 |
| ← reval left | 10:38 |
|
Mikachu
| maks_: if you use 'git pull' you will merge their branch into your currently checked out branch | 10:39 |
|
| 'fetch somebody pull' doesn't quite parse here | 10:39 |
|
maks_
| yes i know the pull part Mikachu | 10:40 |
|
| Mikachu: you get a pull request to merge someones branch, but do a s/pull/fetch/ | 10:40 |
|
Mikachu
| if you run 'git fetch git://server.org/foo.git' you will fetch all commit objects and blobs, but you won't get a reference in any branch | 10:40 |
|
maks_
| where do i see those objects? | 10:40 |
|
Mikachu
| you have to specify where to store it | 10:41 |
|
| git fetch git://blah master:masterfromotherserver | 10:41 |
|
maks_
| thanks Mikachu | 10:43 |
|
gitster
| With "git fetch $elsewhere; git log ..FETCH_HEAD", you do not necessarily have to ;-) | 10:47 |
|
Mikachu
| aha, so that's where it ends up :) | 10:47 |
|
Rogan
| any ideas why git might be ignoring my file? (I *did* check .gitignore) | 10:49 |
|
Mikachu
| did you check .git/info/excludes and ~/.gitignore ? | 10:50 |
|
Rogan
| exclude (no s) is the default with everything commented out, and there is no ~/.gitignore | 10:51 |
|
Mikachu
| oops | 10:53 |
|
| i usually just press tab after the e :) | 10:53 |
|
maks_
| git log ..FETCH_HEAD is empty | 10:54 |
| ← imyousuf left | 10:55 |
| → imyousuf joined | 10:55 |
| → koki joined | 10:57 |
|
maks_
| hi koki :) | 10:58 |
| ← srid left | 10:58 |
|
koki
| maks_: hey! | 10:58 |
| → saimon_ joined | 11:02 |
| → srid joined | 11:03 |
| ← saimon left | 11:05 |
| → Kebianizao joined | 11:08 |
|
Kebianizao
| Hello | 11:08 |
|
| I've done a git status and I have plenty of modifications after applying a patch | 11:08 |
| ← namenlos left | 11:08 |
|
Kebianizao
| I have all the files I want to git add listed in a file and I would like to feed git add with that file | 11:09 |
|
| how could i do that? | 11:09 |
|
Mikachu
| if there are no spaces or funny business in the filenames you can probably get away with git add `cat file` | 11:11 |
|
imyousuf
| how can I specify a SMTP username and password in the git-send-email command? | 11:12 |
|
twork__
| after creating a branch and performing some commits and/or merges, how can I find the commit on master from which I originally branched? | 11:14 |
| → octopod_ joined | 11:14 |
| ← imyousuf left | 11:14 |
|
Mikachu
| git merge-base branch master | 11:16 |
|
| why do you want to find it? | 11:16 |
|
twork__
| *nearly* what we wanted | 11:17 |
|
Mikachu
| you could just bring up gitk --all and click on the one you want :) | 11:18 |
| → jsimonss joined | 11:18 |
|
twork__
| basically, i have two branches created from master, but from different commits. when i merge from the second-created branch to the first-created branch, it has (logically) also merged commits on master which took place in between the two creations | 11:19 |
|
Kebianizao
| Mikachu: thanks it worked | 11:19 |
|
twork__
| what i was *trying* to do was merge just those commits on the second-created branch *post creation of the branch* | 11:20 |
|
Mikachu
| you would have to use rebase i think | 11:20 |
|
Tv
| twork__: the only way to do that is to first rewrite the commits on top of the new location -- aka rebase | 11:20 |
|
Kebianizao
| bye | 11:20 |
| ← Kebianizao left | 11:20 |
|
twork__
| before i can start trying to understand that (which looks like a brilliant suggestion), I need to revert the ballsed merge. also, i'll then want to push the resulting merged branch out to a shared repo | 11:22 |
|
| which may or may not be pertinent | 11:23 |
|
| the immediate problem is i can't find the SHA1 of the commit I originally branched from (which is what I want to revert to). merge-base isn't quite there, because of the commits on master which I (unintentionally) merged. | 11:24 |
|
Mikachu
| right, you'll have to reset --hard HEAD\^ or something first | 11:24 |
|
| (don't do that on the wrong branch or twice) | 11:25 |
|
| or you could just pass HEAD^ to git merge-base | 11:26 |
| ← octopod left | 11:28 |
|
vbgunz
| I am on part 2 of a tutorial. I was told to do this > '$ echo "hello world!" > file.txt' *but* got this returned > 'bash: !": event not found' why? | 11:30 |
|
| in single quotes it seemed to work just fine... | 11:31 |
|
broonie
| ! tells your shell to recall the last command with the prefix in front of the !. | 11:31 |
|
| (so if I say 'ls ~' then 'ls!' it will do ls ~ twice) | 11:32 |
| octopod_ → octopod | 11:34 |
| → captnmark_ joined | 11:35 |
| → ivazquez joined | 11:37 |
|
ivazquez
| Is there any way to add arbitrary metadata to a blob? | 11:38 |
|
Mikachu
| you can tag it, but you can't reach the tag from the blob, only the other way | 11:40 |
|
vbgunz
| Mikachu: I decided to try it, so I said "ls ~" and then tried all of the following:, bash: ls!: command not found, ls: !: No such file or directory, bash: syntax error near unexpected token `newline' | 11:41 |
|
| heh, nothing repeated the command at all :/ | 11:41 |
|
Mikachu
| wrong tabcomplete there | 11:41 |
| → ferdy joined | 11:42 |
|
ivazquez
| Unfortunately that doesn't help. I need it reachable via the blob. | 11:43 |
|
Mikachu
| i think that's not possible, since existing objects are read-only | 11:43 |
|
twork__
| how do i delete a branch from a remote (shared) repository? such that nobody can pull from it any more, etc. (yes, this is just a testing repository. :) ) | 11:45 |
|
Mikachu
| push remote :branchname | 11:45 |
|
twork__
| it's not having any of that | 11:48 |
|
| ... or is it | 11:49 |
| ← captnmark__ left | 11:52 |
| ← jsimonss left | 11:54 |
| → jsimonss joined | 11:54 |
| ← |zeal| left | 11:54 |
| → lcapitulino joined | 11:59 |
|
vbgunz
| I have an offtopic question. hopefully, you guys understand. when I open a terminal session, is there any way I can create a personal .bash_history for it? e.g., .myGitHistory ? | 12:05 |
|
Tv
| vbgunz: help history | 12:07 |
| ← G0SUB_ left | 12:07 |
| → wagle joined | 12:08 |
| → IanL joined | 12:14 |
| → mithro joined | 12:15 |
| → YGingras_ joined | 12:21 |
| ← YGingras left | 12:22 |
| → ivazque1 joined | 12:27 |
| → namenlos joined | 12:28 |
| ← bartman` left | 12:29 |
|
twork__
| Thank you all. | 12:30 |
| ← twork__ left | 12:30 |
| → bartman joined | 12:30 |
|
johan-s
| hey folks, I wrote yet another git hosting thing: http://gitorious.org/ | 12:35 |
|
lu_zero
| johan-s what's that? | 12:35 |
|
johan-s
| lu_zero: hosting git repositories and their clones basically | 12:37 |
| ← srid left | 12:37 |
|
Tv
| forgeries, eh? | 12:37 |
| ← theCarpenter left | 12:37 |
|
johan-s
| Tv: I'm not even sure thats a valid gramatical form of "forge" | 12:38 |
|
lu_zero
| sounds nice | 12:38 |
|
johan-s
| haha, forgeries means something else entirely of course, d'oh | 12:39 |
|
Tv
| bah yet another fake-linear history browser | 12:39 |
|
johan-s
| Tv: yes. the browser sucks, I want it more gitk like | 12:39 |
|
lu_zero
| Tv how's going with gitosis? | 12:39 |
|
Tv
| lu_zero: it seems a lot of people are happy with it, which is good | 12:40 |
| → cedric_ joined | 12:40 |
|
Tv
| gitweb integration is somewhat of a pain, still | 12:40 |
|
| lu_zero would make ffmpeg using it once the other issues against migration are solved | 12:40 |
|
lu_zero
| noticed ^^; | 12:40 |
|
Tv
| because of the security barriers | 12:40 |
|
| nothing a manual chgrp won't fix, but annoying | 12:40 |
| → jengelh joined | 12:41 |
| ← ivazquez left | 12:42 |
| ivazque1 → ivazquez | 12:42 |
|
lu_zero
| I see | 12:43 |
| ← ironfroggy left | 12:44 |
|
Tv
| the thing is, gitosis by design can't do that by itself | 12:45 |
|
| it isn't allowed to ;) | 12:45 |
|
| i could automate the case of gitweb running as the same user | 12:46 |
|
| but i'm not sure if that's common enough | 12:46 |
|
lu_zero
| Tv otherwise you'd need an helper | 12:47 |
|
Tv
| to chgrp? maybe | 12:47 |
|
| but then, if you trust gitosis to chgrp things, that is to allow their web publication | 12:48 |
|
| you might as well run gitweb as the same user | 12:48 |
|
lu_zero
| yup | 12:48 |
|
Tv
| i think the same-user-id model will get packaged in a nicer way | 12:49 |
|
| and if you're not happy with that, you get to chgrp individual repos manually | 12:49 |
|
| that's the best i can do, really | 12:49 |
| ← chris2 left | 12:50 |
|
MadCoder
| git commit -a -s -m'no we shouldn''t be removed' | 12:52 |
|
| fatal: Out of memory? mmap failed: Bad file descriptor | 12:52 |
|
| Created commit | 12:52 |
|
| WTF ?! | 12:53 |
|
Tv
| MadCoder: reproducable? | 12:53 |
|
jengelh
| Is there a chance to do two stash applys? | 12:53 |
|
Tv
| jengelh: if nothing else, via git apply | 12:53 |
|
MadCoder
| Tv: not really, though it happens on a regular basis | 12:54 |
|
| it's annoying | 12:54 |
|
| though the commit is here, so it's merely annoying | 12:54 |
|
Tv
| oh wow | 12:54 |
| → toxx_ joined | 12:55 |
|
MadCoder
| yeah | 12:55 |
|
jengelh
| Tv: git-stash apply 'stash@{2}' => Cannot restore on top of a dirty state | 12:57 |
| → WorkingGeier joined | 12:58 |
|
Tv
| jengelh: try git stash show 'stash@{2}' | git apply --reject | 12:58 |
|
jengelh
| git-stash show only prints a diffstat, not the actual patch | 12:58 |
|
Tv
| oh crud | 12:58 |
|
| well you can even git show it | 12:58 |
|
| i don't have stashes handy for playing, right now ;) | 12:59 |
|
jengelh
| heh | 12:59 |
|
| git log -p 'stash@{2}' did the right thing. | 12:59 |
|
vbgunz
| Tv: thank you so very much for pointing that out, you sort of killed 2 birds with a single stone regarding my history :) | 13:01 |
| ← johan-s left | 13:02 |
| → johan-s_ joined | 13:02 |
|
Tv
| stashes are just commits. well, two commits: index and working tree. | 13:02 |
| ← johan-s_ left | 13:08 |
| → leethal joined | 13:08 |
| ← YGingras_ left | 13:09 |
| → YGingras_ joined | 13:09 |
| → johan-s joined | 13:13 |
| → Sho_ joined | 13:18 |
| ← z3ro left | 13:22 |
| ← mattly left | 13:22 |
|
leethal
| why is git saying lib/ is ignored? http://git.pastebin.com/m56d717c4 | 13:22 |
|
| I didn't set any global ignores or anything either | 13:22 |
| → z3ro joined | 13:22 |
| → YGingras__ joined | 13:23 |
|
Tv
| leethal: is it empty? | 13:23 |
|
leethal
| no, it has another dir in it | 13:23 |
|
Tv
| leethal: is that empty ;) | 13:23 |
|
| find lib \! -type d | 13:23 |
|
leethal
| oh hey, no we're getting somewhere | 13:23 |
|
| didn't even cross my mind that it recursively checked for empty dirs | 13:24 |
|
| thanks =) | 13:24 |
| → theCarpenter joined | 13:24 |
| ← YGingras_ left | 13:24 |
|
leethal
| while I'm at it - is there any best practice (pardon me if it's not a practice at all) to version control empty directories? | 13:24 |
| → EmilMedve joined | 13:25 |
|
Tv
| git only tracks files, by design | 13:25 |
| → pngl joined | 13:25 |
|
Tv
| you put an empty .placeholder or .gitignore file in dirs you absolutely must get committed | 13:25 |
|
| or just create them in the makefile | 13:25 |
|
pngl
| is there any reason why a git push would work, update the remote git log, but do no actual change to the files? (I'm getting started with git) | 13:27 |
|
Tv
| pngl: don't push to non-bare repositories | 13:27 |
| ← namenlos left | 13:27 |
|
Tv
| pngl: the working directory will *not* be updated | 13:27 |
|
| shared repositories should be bare | 13:28 |
|
pngl
| so I have to clone --bare my local rep, scp it and then push will work? | 13:28 |
|
leethal
| I'm pretty noob at git, only know the basic stuff - is it possible to create the dirs with git itself when someone clones the repos? with some hooks or something? | 13:28 |
|
Tv
| pngl: you can just create a new bare repo from scratch and push to that | 13:28 |
|
| pngl: scping repositories is sort of weird | 13:28 |
|
leethal
| the makefile suggestion sounds clean 'n stuff, but this system doesn't have makefiles =/ | 13:29 |
|
Tv
| leethal: nope | 13:29 |
|
leethal
| I see | 13:29 |
|
pngl
| oh thanks for that... yeah I'm sure I'm using a lot of homebrewed methods that have nothing to do with the standart way of doing stuff | 13:29 |
|
Tv
| leethal: you don't want people running arbitrary code on your system when you just grab their sources, you know.. | 13:29 |
| → mattly joined | 13:29 |
|
leethal
| mm, good point | 13:29 |
|
pngl
| thanks again I'll make a new bare on my remote server (is scp just weird or actually bad?) | 13:31 |
|
hliusv561
| pngl: It is possible to dedicate some prefix for pushes so they won't wind up goin to currently checked out branch. One can even specify patterns at client side how branch names are mapped... | 13:31 |
|
jengelh
| why scp, just push ssh:// | 13:32 |
|
Mikachu
| i don't think push can create a remote repo? | 13:32 |
|
hliusv561
| pngl: It does not check the stuff copied and when copying repositories with their working trees transfers extraneous data plus trashes the working copy caches (fixable with one command). | 13:33 |
| ← octopod left | 13:33 |
|
Tv
| Mikachu: except with gitosis ;) | 13:33 |
|
| but still, create it first, push then | 13:33 |
| bigon` → bigon | 13:34 |
| → jtoy joined | 13:34 |
|
jengelh
| git addiction? | 13:35 |
|
pngl
| alright I'll see how this goes but it seems that what I need is to spend more time reading the docs | 13:35 |
|
jtoy
| how can I take the changes that I currently have and put them into a new branch? I forgot to create a new branch for the new code I have added | 13:35 |
| → cmarcelo joined | 13:35 |
|
leethal
| would suggesting to add a newb-friendly error message when trying to add empty directories to the repos be a silly idea? like, 'git only tracks files, can not add empty directory to repository' or whatever, instead of the 'cryptic' stuff about the dir being ignored. | 13:35 |
|
Tv
| jtoy: already committed or not? | 13:35 |
|
jtoy
| Tv: not committed yet | 13:36 |
|
hliusv561
| Actually, there are at least two ways to rebuild those caches with just one command ('git status' (the recommended way), and 'git update-index --refresh' (invoking just the low-level operation)). | 13:36 |
|
Tv
| jtoy: git checkout -b newbranch | 13:36 |
|
jtoy
| Tv: thanks | 13:36 |
|
LotR
| hmm. is there a webpage for the git.vim script other than mailing list archives? | 13:36 |
| → ironfroggy joined | 13:36 |
|
hliusv561
| git update-index is mainly used in scripts or for doing some really weird stuff. | 13:37 |
| ← mithro left | 13:39 |
| ← theCarpenter left | 13:40 |
| → Catfish joined | 13:42 |
| ← leethal left | 13:45 |
|
soma-
| what trac plugin is preferred for git? | 13:47 |
| ← YGingras__ left | 13:48 |
| → YGingras__ joined | 13:49 |
| cbrake_away → cbrake | 13:53 |
| bigon → bigon` | 14:05 |
| → dancor joined | 14:06 |
|
dancor
| i'm going to put a hook in a git-svn repo to automatically commit to svn anything push-ed to it | 14:07 |
|
| however, the svn repo also has pre-hooks that can fail | 14:07 |
|
| so is the best way to use .git/hooks/pre-receive and have that fail if the svn commit fails? | 14:07 |
| bigon` → bigon | 14:08 |
|
hliusv561
| dancor: pre-receive is IIRC invoked before data is transferred. | 14:09 |
|
dancor
| hliusv561: hm, do i want 'update'? | 14:10 |
|
pngl
| I'm lost. Or rather I don't get the concept of bare repository. Where are the actual files? | 14:11 |
| → bigred-ian joined | 14:11 |
|
dancor
| i really just need to: detect failure, make sure the repo stays clean, and notify the person trying to push | 14:11 |
|
hliusv561
| pngl: Mainly inside those big *.pack files in objects/pack? | 14:11 |
| ← sunblush left | 14:12 |
|
hliusv561
| dancor: AFAIK, update can print messages to client and can abort the update. | 14:12 |
|
pngl
| hm. alright. so without a bare repository, my git push doesn't actually update the files. with a bare one, there are no files. what if I simply want to push changes from my local machine to my remote web server? | 14:13 |
|
hliusv561
| pngl: There are some hooks that can be enabled. One of them is invoked after pushing. It could copy a snapshot of newest pushed stuff to apporiate directory. | 14:14 |
| → cartman joined | 14:14 |
|
hliusv561
| pngl: At least 'post-update' hook can be used for that. | 14:14 |
|
dancor
| hliusv561: for me? yeah post-update seems like it might work better with git-svn | 14:15 |
|
| i might have to do a little bit more clean up on failure there | 14:15 |
|
hliusv561
| dancor: You can't abort from post-update. | 14:15 |
|
pngl
| sounds good, I'll take a look at this. Strange though that there is a need to add hooks for what seems like a very simple operation to me. | 14:16 |
|
dancor
| hliusv561: but i can reset and tell the user they got pwnd right? | 14:16 |
|
hliusv561
| dancor: Actually propagating the failure to client would be nicer thing to do. | 14:16 |
|
dancor
| hliusv561: do you think it will be possible with git-svn? | 14:16 |
|
hliusv561
| dancor: Not just spew errors to client (and have client think it succeeded). | 14:17 |
|
| pngl: Also, some data can live in those files which have 38 characters of "hex garbage" as their names under objects/xy/, where x and y are hex characters also. | 14:18 |
|
dancor
| update has problems in that it is once-per-file but it's not easy (that i know of, but i would be surprised if it is..) to do svn hook checks without actually committing files | 14:20 |
|
hliusv561
| dancor: I think there was some 'all-branches-at-once' hook also... | 14:21 |
|
| pngl: It is not simple, as that working tree must not be trashed. | 14:24 |
|
| pngl: It would be simple operation only if that working tree was clean on all paths modified. Anything else and merging could wind up being disaster. | 14:25 |
| ← jtoy left | 14:25 |
| → bobesponja joined | 14:26 |
| → doener joined | 14:27 |
| ← dkagedal left | 14:27 |
| ← cartman left | 14:30 |
| → careo joined | 14:31 |
| ← saimon_ left | 14:41 |
| ← ironfroggy left | 14:42 |
| ← doener_ left | 14:42 |
| → ironfroggy joined | 14:43 |
| → jtoy joined | 14:46 |
| → aroben joined | 14:46 |
| ← aroben left | 14:46 |
|
dancor
| can i get like a 'git show' of the change coming in in pre-receive | 14:49 |
|
Tv
| dancor: just let the fetch happen, review remotes/* before you merge it | 14:50 |
|
| oh sorry you meant on push | 14:50 |
|
| why? | 14:50 |
|
| the hook gets the necessary info in stdin to do that, if that's what you really want | 14:51 |
|
dancor
| Tv: i'm trying to put a hook in a git-svn repo to automatically commit to svn anything push-ed to it, but fail if the git svn dcommit fails | 14:52 |
|
| this seems difficult because git svn dcommit only works on a clean index (after all the hooks are called) | 14:53 |
|
peper
| how can I rever N last commits to the workdir? | 14:53 |
|
Tv
| peper: man git-reset | 14:53 |
|
dancor
| peper: as a new commit, or pretending they never occurred? | 14:54 |
|
Tv
| peper: oh yeah that too.. there's like three different things you might be after | 14:54 |
|
peper
| the latter | 14:54 |
|
dancor
| then git reset | 14:54 |
|
Tv
| 1) starting a new branch 2) undoing commits you haven't shared 3) cancelling commits you have shared | 14:54 |
|
peper
| 2) | 14:55 |
|
Tv
| man git-reset | 14:55 |
|
peper
| but I want the changes from the commits to be in the workdir | 14:55 |
|
| alright | 14:55 |
|
dancor
| Tv: for this hook, one idea i had was to pull the change out at the pre-receive stage and patch it to a separate repo and dcommit from there | 14:55 |
|
| i can't think of anything less hacky | 14:56 |
|
peper
| ta | 14:56 |
|
Tv
| dancor: well dcommit is going to rebase it anyway | 14:56 |
|
| dancor: so the push is going to be an utter disaster | 14:56 |
|
| dancor: what the client pushed will not be what you want to end up with | 14:57 |
| ← bigred-ian left | 14:57 |
|
dancor
| Tv: so you think separate repo is necessary? | 14:57 |
|
peper
| btw. how can I revert a git add? (either of a new filename or just changes) | 14:57 |
|
Tv
| dancor: i have no clue what you're trying to build | 14:57 |
|
| dancor: but in general, git commits intended for git-svn dcommit should not be shared | 14:57 |
|
| dancor: that includes pushing | 14:57 |
|
dancor
| Tv: svn <-> git-svn repo <-> pure git repo | 14:57 |
|
Tv
| peper: just like anything else | 14:57 |
|
| (16:55:35) Tv: dancor: but in general, git commits intended for git-svn dcommit should not be shared | 14:58 |
|
| dancor: think about that | 14:58 |
|
dancor
| why not | 14:58 |
|
peper
| Tv: man what? :] | 14:58 |
|
Tv
| dancor: because dcommit will mutate them | 14:58 |
|
| peper: man git-reset | 14:58 |
|
| peper: if it's the whole commit you want to undo | 14:58 |
|
peper
| now I am talking about reverting index changes only | 14:59 |
|
dancor
| Tv: i see. it adds a git-svn-id line to the message e.g. | 14:59 |
|
peper
| i.e. I did git-add foo | 14:59 |
| midgar → bdiego | 14:59 |
|
peper
| and, oops I didn't want to do that ;] | 14:59 |
| → kristoffer joined | 15:00 |
|
Tv
| peper: see git status output | 15:00 |
|
peper
| Tv: "to be commited" | 15:01 |
|
Tv
| peper: ... aaand? | 15:01 |
| → kukks joined | 15:01 |
|
peper
| er, ok. simple git-reset did the trick ;] | 15:01 |
|
Tv
| so you didn't read it, then | 15:02 |
|
| oh well | 15:02 |
|
peper
| I did | 15:02 |
|
| then run git-reset | 15:02 |
|
| and read again | 15:02 |
| → dkagedal joined | 15:02 |
|
dancor
| Tv: but there are certain benefits from a more-git-like setup that i want such as disk savings cloning from one repo on each machine that developers are on | 15:02 |
|
| but i can see it's going to necessarily be more hacky than i had imagined | 15:03 |
|
Tv
| dancor: you can want all you want ;) | 15:03 |
|
dancor
| i intend to do more than want | 15:03 |
|
Tv
| dancor: switch over, then ;) | 15:03 |
|
dancor
| Tv: in time, and iteration | 15:03 |
| ← IanL left | 15:05 |
|
careo
| question for any git-svn users out there: what's the suggested way to start a new branch in svn with git-svn? or should I just start a new one with subversion directly and just use it in git? | 15:05 |
|
Tv
| careo: yup | 15:06 |
|
careo
| Tv: cool. thanks | 15:07 |
|
| careo heads back into the dark pit of despair that is his svn checkout | 15:07 |
|
Tv
| careo: you can do that with a single command, just use full urls | 15:08 |
|
| no checkout needed | 15:08 |
|
careo
| ack. right. | 15:08 |
|
| thanks again | 15:08 |
|
| Tv: one last dumb question and I'm out your hair: that's done, git-svn fetch found it with the "found possible branch point...", and is now pulling down revision 1-now. is that normal, or is something in my git-svn setup wrong that it can't just get the history from disk? | 15:13 |
|
Tv
| not sure | 15:14 |
|
| git-svn has changed since i last used it for real | 15:14 |
|
| for real = more than read-only trivial use | 15:14 |
|
doener
| careo: for the branching stuff, I have a script here to handle that. http://git.pastebin.com/d387cb2c | 15:15 |
|
careo
| ok. no worries. I trust that it'll sort itself out after a good gc, even if it does have to go through this temporary insanity. | 15:16 |
|
doener
| careo: that should look for the last commit in you current git branch that exists in svn, and create a new branch starting at that commit | 15:16 |
|
| s/you/your/ | 15:17 |
|
careo
| doener: ahh good! thanks | 15:17 |
|
jengelh
| How would I make gitweb show the shortlog of all recent commits rather than just the ones on the current branch? | 15:18 |
|
doener
| still needs the svn executable though. If I knew perl, I'd add that to git-svn... ;-) | 15:18 |
|
careo
| heh. git-svn needs svn anyway iirc | 15:19 |
|
doener
| careo: it can get away with just the perl bindings AFAIK | 15:19 |
|
careo
| wait. no, I don't. it uses uses the bindings directly | 15:19 |
|
| careo goes for more coffee to guard against further errors | 15:20 |
| → orospakr joined | 15:21 |
| ← sverrej left | 15:21 |
|
doener
| jengelh: http://git.kernel.org/?p=git/git.git;a=shortlog;h=--all | 15:21 |
|
| jengelh: seems that you can pass arbitrary arguments via "h" | 15:22 |
|
jengelh
| o_O | 15:22 |
| metze → metze_away | 15:22 |
| → zapnap joined | 15:24 |
| ← zapnap left | 15:24 |
|
jengelh
| well it does what I expected | 15:26 |
|
| but is this also possible for the shortlog on the summary page? | 15:26 |
|
doener
| oh well, not arbitrary, there is some checking it seems | 15:28 |
| → sverrej joined | 15:28 |
| ← sverrej left | 15:29 |
|
ironfroggy
| i have a file that was changed, staged for commit, and then the changes reverted, but it still shows up under changes to be commited | 15:29 |
|
| how can i just clear anything that is staged? | 15:30 |
| → sverrej joined | 15:30 |
| → rmh3093 joined | 15:30 |
|
kelvie_
| it is safe to remove the tmp_packs right? | 15:30 |
| → YGingras_ joined | 15:31 |
| ← sverrej left | 15:31 |
|
kelvie_
| ironfroggy: git-reset HEAD <paths> | 15:31 |
|
| or use git-gui | 15:31 |
| → p4tux joined | 15:31 |
|
doener
| jengelh: my perl sucks, but HEAD seems to be hardcoded in git_summary in gitweb | 15:31 |
|
jengelh
| i don't mind editing gitweb.cgi | 15:32 |
|
| changed and works ;-) | 15:32 |
| → sverrej joined | 15:33 |
| ← kanru left | 15:33 |
|
doener
| jengelh: now using $hash instead of 'HEAD', I guess? | 15:34 |
| ← sverrej left | 15:34 |
|
ironfroggy
| kelvie_: thanks | 15:34 |
|
jengelh
| my %co = parse_commit("--all"); | 15:35 |
|
doener
| ah, hardcoded again :) | 15:35 |
|
jengelh
| no chance for sneaky kiddies | 15:35 |
|
| what's a fork? | 15:35 |
|
eparis
| i have 1 'public' branch and 10 'devel' branches each with 1 commit and a very nice commit message. git checkout public; git pull . devel-1; git log looks great; git pull devel-2; git log for the latest merge is crap: "Merge branch 'devel-2' into public" rather than the nice commit message I made when I created the branch. how do i make all these devel branches merge into my public branch and keep the nice commit messages? | 15:35 |
|
rmh3093
| is there a way to add custom dns info to a repo hosted by repo.or.cz | 15:37 |
|
| i have a webredirect working in my dns | 15:37 |
|
| which works ok to redirect cloning | 15:37 |
|
doener
| eparis: your nice commit message is still there, you're just looking at the merge commit that pulls in the other commit | 15:37 |
|
rmh3093
| but i cant push to that | 15:37 |
|
doener
| eparis: have a look at your repo in gitk to see that | 15:38 |
|
| eparis: what happened is that the first merge happened to be a fast-forward, so the branch was just moved forward and no merge commit created | 15:38 |
|
| eparis: but the second one is not a fast-forward, thus you see the merge commit in _addition_ to the original commit | 15:39 |
|
careo
| doener: in script there is a line "URL=$(echo -n "$URL" | sed -e 's!//.*@!//!')", svn yelles about the "-n" argument. without it, it works pefectly. | 15:39 |
|
eparis
| doener: hmmm ok, is there a way to not have that merge commit and just make it look like i did a patch->commit->patch->commit work on the 'public' branch (aka when i push this public branch i don't want people to have to see my internal workings....) | 15:39 |
|
careo
| in your script, rather | 15:39 |
|
doener
| eparis: if you want to avoid merge commits, you'll have to rebase the devel branch before merging it | 15:39 |
| bigon → bigon` | 15:39 |
|
jengelh
| Is there any description of why gitk colors branches halfway one color and in the middle changes to another? | 15:40 |
|
doener
| eparis: or, if you really just have a single commit in those branches, just cherry-pick them instead of rebasing and merging over and over again | 15:40 |
|
eparis
| doener: even better. but i'll go read about rebasing just to learn | 15:40 |
|
doener
| careo: svn yells about -n? that's passed to echo!? | 15:40 |
|
eparis
| doener: thanks! | 15:40 |
|
careo
| doener: to svn cp | 15:40 |
|
doener
| careo: svn cp gets -r ..... -m, I don't see an -n here | 15:41 |
|
| careo: there's a single -n and that's passed to echo | 15:41 |
|
careo
| doener: strange. here what's sent is: svn cp -r ... -n ... | 15:42 |
| ← YGingras__ left | 15:43 |
|
doener
| careo: hm, so it's "svn cp -r ... -n ... -m ..."? | 15:44 |
|
careo
| yeah | 15:44 |
|
doener
| careo: hm, does your "echo" not support -n? | 15:44 |
|
| careo: what does "echo -n foo" print? | 15:44 |
|
careo
| doener: just foo, -n's suported | 15:44 |
| → cannonball joined | 15:45 |
|
doener
| where does that -n come from then? *confused* | 15:45 |
|
careo
| echo "$DST" => -n reponame | 15:46 |
|
| I'm somewhat confused too. but either way, without -n it's running happily. I'm in os x leopard though | 15:47 |
|
Rogan
| has anyone here used git-cherry? | 15:47 |
|
doener
| careo: maybe your /bin/sh has a broken echo built-in? | 15:47 |
|
Rogan
| I'm trying to understand what it is telling me | 15:47 |
|
jengelh
| Is not `git add .; git commit` like git commit -a ;-)? | 15:47 |
|
doener
| jengelh: IIRC "commit -a" is like "add -u", while "add ." won't notice deletions | 15:48 |
|
vmiklos
| git add . will add new files while git add -u will just add modified files to the index | 15:48 |
|
jengelh
| good to know | 15:49 |
|
careo
| doener: by god, it does. sh-3.2$ echo -n foo => -n foo | 15:49 |
| ← johan-s left | 15:49 |
|
doener
| ah yeah, new files are handled differently, too | 15:49 |
| ← mediogre left | 15:49 |
|
doener
| careo: well, then make that #!/bin/bash or /bin/echo | 15:51 |
|
| :-) | 15:51 |
| → octopod joined | 15:51 |
| bigon` → bigon | 15:52 |
| ← spuk- left | 15:53 |
| → johan-s joined | 15:54 |
| → harinath joined | 15:57 |
| ← johan-s left | 15:59 |
| → johan-s joined | 16:00 |
| → spuk- joined | 16:02 |
| ← johan-s left | 16:02 |
| → johan-s joined | 16:03 |
| → harinat1 joined | 16:08 |
| → aroben joined | 16:11 |
| ← harinat1 left | 16:11 |
| → twork__ joined | 16:13 |
|
twork__
| Hmm -- I was hoping git cherry-pick would copy the same SHA1 over, but it doesn't. Is there *any* way of copying an entire commit verbatim, including the same SHA1? We're trying to perform merge-tracking. | 16:14 |
| → z3om joined | 16:15 |
|
doener
| twork__: no, you're changing the parent which affects the hash | 16:15 |
|
Tv
| twork__: commit sha1s are cryptographical checksums of *everything* in history before that point | 16:15 |
|
| twork__: sounds like you want to study the concept of topic branches | 16:16 |
|
twork__
| Thank you. :) | 16:16 |
|
careo
| is there a way to have git-svn mark that branches in svn have been deleted? | 16:17 |
| ← marcel left | 16:19 |
| → sunblush joined | 16:22 |
| → stillLotR joined | 16:24 |
| ← LotR left | 16:25 |
| ← harinath left | 16:25 |
| → HG` joined | 16:26 |
| → mjc joined | 16:27 |
| → puk joined | 16:27 |
| → stick joined | 16:27 |
|
mjc
| hmm. we have a huge "images" directory in our cvs repo, and I want to make it a separate repo... is there a good way to do that? the history from it is huge | 16:28 |
| ← a-atwood left | 16:28 |
| ← priidu_ left | 16:28 |
|
mjc
| when I do the git import | 16:28 |
|
| er git-cvsimport | 16:28 |
|
Tv
| mjc: you can always copy the cvs repo and manipulate the ,v files | 16:28 |
|
| but maybe git-cvsimport can do stuff | 16:29 |
|
mjc
| that'll eliminate it from the history entirely? I'm not familiar with cvs's inner voodoo | 16:29 |
|
| (thank god) | 16:29 |
|
Tv
| and if you import the whole thing you can use filter-branch to split them later | 16:29 |
|
mjc
| how's that work | 16:29 |
|
Tv
| cvs versions individual files *only* | 16:29 |
|
mjc
| filter-branch | 16:29 |
|
Tv
| ask the man ;) | 16:30 |
| → devurandom joined | 16:30 |
|
devurandom
| Hello! | 16:30 |
|
mjc
| ahh, here we go | 16:30 |
|
| thanks tv. | 16:30 |
|
devurandom
| I am getting "Odd number of elements in anonymous hash at /usr/bin/git-svn line 1760." (output, no warning/error) during git-svn-clone. What does it mean? | 16:31 |
|
| Is that something bad? | 16:31 |
|
| I.e. may my repository be corrupted? | 16:31 |
|
Tv
| devurandom: could be | 16:32 |
|
| devurandom: but probably not | 16:32 |
|
| devurandom: it's a bug; try the latest version, if that doesn't help write a good bug report to the mailing list | 16:32 |
|
| devurandom: oh and do try to google for the error message, first | 16:32 |
|
devurandom
| I am using 1.5.4_rc2. | 16:32 |
| ← pngl left | 16:32 |
| ← zeom left | 16:33 |
| z3om → zeom | 16:33 |
| → aroben_ joined | 16:33 |
|
devurandom
| Seems as if it really could be a bug: http://www.nntp.perl.org/group/perl.bugmongers/2004/09/msg204.html | 16:33 |
|
Tv
| well it *is* a bug | 16:34 |
|
| that's clear | 16:34 |
|
| what's on line 1760 of your copy of git-svn? | 16:34 |
| ← aroben left | 16:34 |
|
mjc
| "To remove commits authored by "Darl McBribe" from the history" funny but I think that should be removed :O | 16:35 |
| aroben_ → aroben | 16:35 |
| ← lcapitulino left | 16:36 |
|
devurandom
| $svnsync = { | 16:36 |
|
| With context: | 16:36 |
|
| # see if we have it in our config, first: | 16:36 |
|
| eval { | 16:36 |
|
| my $section = "svn-remote.$self->{repo_id}"; | 16:36 |
|
| $svnsync = { | 16:36 |
|
| url => tmp_config('--get', "$section.svnsync-url"), | 16:36 |
|
| uuid => tmp_config('--get', "$section.svnsync-uuid"), | 16:37 |
|
| } | 16:37 |
|
mjc
| [email@hidden.address] | 16:37 |
|
devurandom
| }; | 16:37 |
| ← FunkeeMonk left | 16:40 |
| ← dsaxena left | 16:40 |
| ← p4tux left | 16:41 |
| ← sunblush left | 16:42 |
| → Phoop joined | 16:43 |
| → RobotDeathSquad joined | 16:43 |
| → robinr joined | 16:45 |
| → p4tux joined | 16:45 |
| → theCarpenter joined | 16:47 |
|
vbgunz
| forgive me if this is lame, in the man git-init page on the web, what does this mean: Use permissions reported by umask(2). ... specifically umask(2) | 16:49 |
|
Tv
| vbgunz: umask. look it up in any advanced unix book. | 16:49 |
|
| vbgunz: man -a umask may or may not help | 16:49 |
|
vbgunz
| Tv: not really umask, when you see something with (2) ... whats that mean? | 16:50 |
|
| e.g., git(7) | 16:50 |
|
mjc
| manual section | 16:50 |
|
Tv
| vbgunz: man section | 16:50 |
|
mjc
| man 7 git | 16:50 |
|
vbgunz
| man 2 umask: No manual entry for umask in section 2 | 16:51 |
|
| ok great (n) means n section and to get to it is man n ... | 16:51 |
|
mjc
| man 1 umask | 16:51 |
|
| on osx at least | 16:51 |
|
vbgunz
| No manual entry for umask in section 1 | 16:51 |
|
| heh, am on Kubuntu 7.10 | 16:52 |
|
mjc
| http://en.wikipedia.org/wiki/Umask | 16:52 |
|
| Tv: git-filter-branch --index-filter 'git update-index --remove images' HEAD | 16:52 |
|
Tv
| there's no user command called umask, it's a shell builtin | 16:52 |
|
mjc
| that'll blow away anything named images from everywhere, no? | 16:52 |
|
| or just the top level directory | 16:53 |
|
| from all commits | 16:53 |
|
Tv
| mjc: i'd need to spend 5 minutes with the man page myself ;) | 16:53 |
| → saimon joined | 16:53 |
|
mjc
| ah | 16:53 |
|
| it gave that with a filename as an example | 16:53 |
|
| well I can't hurt anything I can just reimport :P | 16:53 |
|
vbgunz
| git-init(1) states to read umask(2)... but, there is no man for umask, correct? | 16:54 |
|
mjc
| you (or your distro) might not have installed the manual for it | 16:54 |
|
| read the wikipedia link I posted | 16:54 |
|
Tv
| vbgunz: man you jump into weird conclusions | 16:54 |
|
mjc
| and here's an online copy of the man page http://ibm5.ma.utexas.edu/cgi-bin/man-cgi?umask+2 | 16:55 |
|
vbgunz
| heh, "there's no user command called umask, it's a shell builtin", not sure, thought maybe this would mean no man for umask, sorry :/ | 16:55 |
|
Tv
| vbgunz: which just means there's no man(1) | 16:56 |
|
| err | 16:56 |
|
| umask(10 | 16:56 |
|
| umask(1) | 16:56 |
|
devurandom
| Filed as http://marc.info/?l=git&m=119981060609053&w=2 | 16:56 |
|
mjc
| there's a umask(1) on BSDs | 16:56 |
|
Tv
| mjc: do they have cd(1) too? | 16:56 |
|
mjc
| yes looks like 1 is for builtins | 16:56 |
|
Tv
| mjc: oh wow, what did i just say about jumping into weird conclusions | 16:57 |
|
mjc
| heh | 16:57 |
| ← theCarpenter left | 16:59 |
|
mjc
| git is so fast it makes my head spin | 16:59 |
| → |kukks| joined | 17:00 |
| ← p4tux left | 17:03 |
| → ivazque1 joined | 17:04 |
|
mjc
| well git-filter-branch without the update index bit is slow | 17:05 |
|
vbgunz
| the following in git-init(1) ...config variable "core.sharedRepository", '...configuration flag receive.denyNonFastforward' ... where do I find these? are these global or specific? do I edit something outside of .git fro this or edit something inside .git *after* init? | 17:07 |
| → maio joined | 17:07 |
| → harinath joined | 17:07 |
|
maio
| hi i deleted some files in working copy how do i get them back? | 17:08 |
|
Tv
| maio: git checkout HEAD path/to/file | 17:08 |
|
mjc
| vbgunz: .git/config | 17:08 |
|
| or ~/.gitconfig | 17:08 |
|
vbgunz
| yeah, this is in regards to --share=... | 17:08 |
|
mjc
| then in the config file in your shared repo | 17:08 |
|
| but you probably just want git init --shared | 17:09 |
|
| or, gitosis | 17:09 |
|
vbgunz
| so, if I had new templates, I rerun git-init ... if I wanted to change persmissions, do I rerun git-init --shared... OR just change the config? | 17:09 |
|
Tv
| vbgunz: it won't overwrite anything existing | 17:09 |
|
maio
| Tv: thanks | 17:10 |
|
Tv
| vbgunz: if you want to change the hooks, change the hooks | 17:10 |
|
| vbgunz: if you want to edit the config, edit the config | 17:10 |
|
vbgunz
| yeah I read that, I understand you would usually rerun it to pick up modified templates or something similair | 17:10 |
|
Tv
| it won't overwrite anything | 17:10 |
|
vbgunz
| Tv: in regards to --shared. git-init --shared=(s/false/group) won't work, I will need to change the config to make such a change correct? | 17:11 |
| → lcapitulino joined | 17:11 |
| → dsaxena joined | 17:12 |
| ← kmap left | 17:13 |
|
mjc
| dude it's just a text file | 17:13 |
| → sunblush joined | 17:13 |
|
mjc
| but it again sounds like what you really want is gitosis :P | 17:13 |
|
vbgunz
| hmm, rerunning git-init, changing --shared changed the config | 17:13 |
| ← WorkingGeier left | 17:13 |
|
mjc
| vbgunz: http://eagain.net/gitweb/?p=gitosis.git | 17:14 |
| → sgrimm joined | 17:14 |
|
vbgunz
| I am trying to learn core-git as best I can, trying to weed out any questions a.s.a.p., am currentyly on git-init, basically done and 19 commands to go... only to be told that isn't core :P | 17:15 |
|
mjc
| watch randal's presentation | 17:15 |
| ← kukks left | 17:17 |
| → _kukks_ joined | 17:18 |
| → kmap joined | 17:18 |
| ← ivazquez left | 17:18 |
|
vbgunz
| mjc: yeah, I am basically done with git-init. seems simple enough though it put umask on my todo, one more command and I'll go over your link again | 17:18 |
|
| thanks | 17:18 |
|
mjc
| yep | 17:18 |
| ← wayneeseguin left | 17:19 |
|
mjc
| been using git for 6+ months; finally convinced the boss to begin migrating to it | 17:19 |
|
vbgunz
| mjc, quick question, where is the presentation, not in the last link you linked too? | 17:20 |
|
Tv
| vbgunz: http://tinyurl.com/2c9np | 17:21 |
|
vbgunz
| heh | 17:22 |
| ← kristoffer left | 17:25 |
|
jengelh
| Could someone look at git log d9a61d669c39d9f260a92554071aa960eb0c3e80? | 17:25 |
| → kumbayo joined | 17:26 |
| → wayneeseguin joined | 17:27 |
| → krsanky joined | 17:33 |
| ← |kukks| left | 17:34 |
| → theCarpenter joined | 17:36 |
| ← twork__ left | 17:38 |
| → desegnis joined | 17:45 |
|
mjc
| vbgunz: http://video.google.com/videoplay?docid=1251251453592758541 | 17:46 |
|
vbgunz
| am 12 minutes into one presentation... may be the same one | 17:47 |
|
mjc
| linus gave another one that is more generic | 17:47 |
|
| but funny | 17:47 |
|
vbgunz
| yeah, I think it is, I found this one http://www.techpresentations.org/Git | 17:47 |
|
jengelh
| linus also has a git talk on video.google | 17:48 |
|
vbgunz
| yeah, I saw the one with Linus a couple months ago, the presentation by him put Git on my todo. | 17:48 |
|
jengelh
| and there is another from James Bottomley on linuxworld.com/video | 17:48 |
|
vbgunz
| Linux went a little nuts in the one I saw about SVN, I think basically he called them retards or something equivalent | 17:49 |
|
jengelh
| yeah that one | 17:49 |
|
mjc
| for a reason | 17:49 |
|
jengelh
| obviously :p | 17:49 |
|
| but the beat against svn was not as justified as the beat against cvs | 17:50 |
|
mjc
| yes it was | 17:50 |
|
| :P | 17:50 |
|
vbgunz
| I never worked on any vcs, I chose Git after seeing the Linus video | 17:50 |
|
mjc
| even more so because of how most windows users use SVN | 17:50 |
|
jengelh
| mjc: well just imagine what were if Windows users used CVS | 17:50 |
|
| it would be worse | 17:50 |
|
mjc
| I already know what that's like | 17:50 |
|
jengelh
| ya right they'd use clearcase :D | 17:51 |
|
mjc
| but most windows users that use SVN don't use trunk/branches/tags | 17:51 |
| ← harinath left | 17:52 |
|
vbgunz
| im lost, I don't speak svn, cvs and so far, in git, I know enough to ask for a cookie | 17:52 |
|
jengelh
| git-fetch cookie | 17:52 |
|
Ilari
| mjc: Yea, I have seen some SVN users. No branches, ocassionally no commit messages. Newer anything about 'Why', etc. | 17:52 |
|
vbgunz
| heh | 17:53 |
| → ivazquez joined | 17:54 |
| → madewokherd joined | 17:54 |
| → robfitz_ joined | 17:55 |
| → dysinger joined | 17:56 |
| → sdfahakan joined | 17:56 |
|
careo
| most longtime svn users I know don't even use branches | 17:57 |
|
mjc
| yeah | 17:57 |
| ← sgrimm left | 17:57 |
|
sdfahakan
| Hi, I want to merge 2 commits into 1: have two commits in sequence: one really adds new funcionality to code, second converts CR LF -> LF - the second one just makes mess - how can I merge the two? | 17:57 |
|
careo
| or if they do, they're about to find out why most other users dont ;) | 17:58 |
| ← Oejet left | 17:59 |
| → vintrepid joined | 18:02 |
|
careo
| I have a git-svn question I'm hoping someone can shed some light on. I have a nicely setup git-svn clone of our svn repo. git lists 72 remote branches, 71 of which are branches long-since deleted in svn. is there a way to tell git they're dead and to stop listing them? | 18:02 |
|
Mikachu
| you can rm them from .git/refs/remotes/svn | 18:03 |
|
| they will only show up again if they're updated in svn i think | 18:03 |
|
careo
| cool | 18:03 |
|
Mikachu
| and when i say rm you should use mv, of course | 18:03 |
|
careo
| mv to? | 18:03 |
|
| or just mv to some backup place in case that wasn't what I wanted to do? | 18:04 |
|
Mikachu
| yeah | 18:04 |
| ← puk left | 18:06 |
| ← robfitz left | 18:06 |
| ← ivazque1 left | 18:08 |
| ← johan-s left | 18:09 |
|
careo
| hmm. not quite so easy. I'll keep messing around and googling. | 18:10 |
| → harinath joined | 18:11 |
|
devurandom
| Hmm... My SVN branches and tags, how are they supposed to be displayed in gitweb? As heads? | 18:12 |
| → Lash| joined | 18:12 |
| ← aroben left | 18:14 |
|
vmiklos
| nope | 18:14 |
|
| gitweb hows local branches while svn branches are remote branches using git-svn | 18:14 |
|
devurandom
| So gitweb cannot show them? | 18:14 |
|
vmiklos
| shows* | 18:14 |
| ← harinath left | 18:14 |
|
vmiklos
| it can, but not as local heads | 18:14 |
|
devurandom
| Hm... | 18:15 |
|
Randal
| sdfahakan - use git rebase -i - there's a "squash" option | 18:15 |
|
vmiklos
| so they will not be listed | 18:15 |
|
devurandom
| So how do I make them show up? | 18:15 |
|
Randal
| beware - you will invalidate all future commits on the old branch | 18:15 |
|
vmiklos
| create local branches from remote branches | 18:16 |
|
Randal
| if those are the two most recent commits, it might be easier just to do the shuffling "by hand" | 18:16 |
| → TuxCM- joined | 18:16 |
|
| Randal wonders if sdfahakan is still listening | 18:16 |
| → pennyk_ joined | 18:19 |
|
pennyk_
| hi, all | 18:19 |
|
| BitKeeper is commerical software. It provide a simple free tool, bkf. | 18:20 |
|
| Is it right that 'bkf clone' only gives a snapshot, not a whole repository clone? | 18:20 |
|
devurandom
| It's getting better... :( "Unable to determine upstream SVN information from working tree history" | 18:21 |
|
Ilari
| pennyk_: What the heck it does have to do with Git? | 18:21 |
|
sdfahakan
| Randal: thanks for your tip; I apologize, went out for a little while, will look at it now | 18:21 |
|
pennyk_
| Any way to convert a bk repo into git? | 18:21 |
| → alley_cat joined | 18:22 |
|
pennyk_
| I know we can convert CVS/SVN repo into git. | 18:22 |
|
vmiklos
| using bkcvs | 18:24 |
|
devurandom
| Hmm... And "git svn log" shows an empty log and gives "fatal: bad default revision 'refs/remotes/git-svn'" on the commandline... | 18:24 |
| ← TuxCM left | 18:24 |
|
vmiklos
| devurandom http://blogs.frugalware.org/vmiklos/2007/12/09/p320 <- maybe you want something like this. the second repo is hanled properly by gitweb | 18:24 |
|
| +d | 18:25 |
|
devurandom
| Saw that yesterday already... But somehow I dislike having the same repository 3 times on the same server, which I all need to update when the first is updated... svn => git-svn => git | 18:26 |
|
| git-svn-clone also checks the repository out?? Can I undo that? | 18:27 |
|
thiago
| git-runstatus stats each file twice. Is there a good reason for that? | 18:28 |
|
sdfahakan
| Randal: invalidate further commits - I realized this even before asking this question :-) so the rebase does not recalculate the commit hashes (IDs) that are descendants of the new merged commit? That would be bad | 18:28 |
|
vmiklos
| devurandom yes, it does - as git-svn fetch doesn't work without a working tree | 18:29 |
|
| at least not here;) | 18:29 |
|
sdfahakan
| (... commit hashes _of commits_ that are descendants ...) | 18:29 |
| ← theCarpenter left | 18:29 |
|
pennyk_
| vmiklos: but I can't access that bk repo directly. All I can do is to access it throught Internet. | 18:29 |
|
devurandom
| vmiklos: I did "git --bare init && git --bare svn init && git --bare svn fetch" before and it seemed to work... | 18:30 |
|
vmiklos
| pennyk_ i don't know bkcvs deeply, i just know Linus convert the linux-2.6 repo to git using bkcvs:) | 18:30 |
|
pennyk_
| vmiklos: oh. Still, thx. | 18:30 |
| → tvachon joined | 18:30 |
|
vmiklos
| devurandom huh, git --bare svn fetch ;) i haven't thought of it | 18:31 |
|
| $ git --bare svn fetch | 18:31 |
|
| fatal: Not a git repository: '/home/vmiklos/scm/git/ooo-build.git' | 18:31 |
|
| rev-parse --symbolic --all: command returned error: 128 | 18:31 |
|
| yes | 18:32 |
| ← dancor left | 18:32 |
|
| vmiklos doesn't think you can avoid having two repos | 18:33 |
| ← mountie left | 18:33 |
| → mountie joined | 18:35 |
|
devurandom
| vmiklos: git --bare svn fetch works flawlessly here... | 18:35 |
|
| Did you do git --bare init before? | 18:35 |
| ← saimon left | 18:35 |
|
devurandom
| I think you will get that error if you don't. | 18:35 |
| → tongueroo joined | 18:36 |
|
devurandom
| Heh... Now it gets funny... | 18:37 |
|
| Odd number of elements in anonymous hash at /usr/bin/git-svn line 1760. | 18:37 |
|
| r13 = 6d57857b7da6aeeda39329ccfd52a329fe47ce78 (tags/1.10a) | 18:37 |
|
| Segmentation fault | 18:37 |
| → |kukks| joined | 18:37 |
| ← jtoy left | 18:37 |
|
Ilari
| devurandom: What got toasted by segfault? | 18:38 |
|
devurandom
| git --bare svn fetch | 18:38 |
|
| Currently trying to reproduce... r13 takes a while, though... | 18:39 |
| ← tvachon left | 18:39 |
|
Ilari
| devurandom: Maybe allow coredumping 'ulimit -c unlimited' or something like that and then use file on the crashdump to find the actual crashed program? | 18:40 |
|
devurandom
| Why does git-svn-log take hours, but git-log shows me the log immediately? | 18:40 |
|
| Ilari: Will try that. | 18:40 |
| → tvachon joined | 18:41 |
| ← janm left | 18:41 |
| ← nashdj left | 18:41 |
|
devurandom
| When I use git-daemon, I don't need git-update-server-info, right? | 18:42 |
|
| And gitweb doesn't need it either? | 18:42 |
|
Ilari
| Maybe git svn log hits the remote repo in some really nasty manner, but git log only hits the local object database (and in really nice way). | 18:42 |
|
loops
| devurandom, correct.. you only need it to support dumb protocols such as http | 18:43 |
| → johan-s joined | 18:45 |
| → k_dub joined | 18:45 |
| ← johan-s left | 18:45 |
|
devurandom
| Ilari: How do I examine that core? | 18:46 |
| ← pennyk_ left | 18:47 |
|
Tv
| devurandom: what core? | 18:48 |
|
devurandom
| coredump. From git-svn | 18:48 |
|
Tv
| oh i see ilari talk about that | 18:48 |
|
| gdb | 18:48 |
|
| file can extract the program name too, yeah | 18:49 |
|
devurandom
| If I don't have gdb on the server? Can I do it from remote somehow? | 18:49 |
|
Tv
| devurandom: you'll need the core file, the binary that was running, and possibly all the libs | 18:49 |
| → anttih joined | 18:50 |
| → theCarpenter joined | 18:50 |
|
devurandom
| How do I get file to extract the program name? | 18:50 |
|
| Here it just says "core.25748: ELF 32-bit LSB core file Intel 80386, version 1 (SYSV), SVR4-style" | 18:50 |
| → GyrosGeier joined | 18:51 |
|
Tv
| hmm, maybe it didn't know how to | 18:51 |
|
| strings core|less | 18:51 |
|
| or just use gdb | 18:51 |
| → sgrimm joined | 18:52 |
| ← opsis25 left | 18:53 |
| ← k_dub left | 18:53 |
|
devurandom
| vmiklos: Can you explain to me what those configurations in the description on your blog mean? | 18:54 |
| ← _kukks_ left | 18:54 |
| → gitte joined | 18:55 |
|
Ilari
| devurandom: And if it was perl which segfaulted, good luck for debugging, you probably will need it... | 18:57 |
|
devurandom
| It probably was Perl... :( | 18:57 |
| ← theCarpenter left | 18:57 |
|
Ilari
| devurandom: If it wasn't, one important thing would be to recover the command line used to invoke it. | 18:58 |
|
| devurandom: That was important step when I tried to debug that git-rev-list commit limiting crash. | 18:59 |
| → dancor joined | 18:59 |
|
devurandom
| What do the remote.origin.fetch config keys do? | 19:02 |
| ← gitte left | 19:03 |
|
Ilari
| devurandom: Control remote branch name mapping on fetching. | 19:04 |
|
devurandom
| So remote.origin.fetch +refs/remotes/tags/*:refs/tags/* means refs/remotes/tags will be renamed to refs/tags on fetch? | 19:05 |
| ← careo left | 19:06 |
|
Ilari
| devurandom: I think so. | 19:09 |
|
devurandom
| Do I need to have refs/heads/master? | 19:09 |
|
| Or would it also work if I just had refs/heads/trunk? | 19:10 |
| → careo joined | 19:10 |
|
Tv
| devurandom: as long as HEAD points to something sane | 19:10 |
|
GyrosGeier
| hmm | 19:10 |
|
| can I instruct fetch to pull all remotes, or do I have to use one fetch command per remote? | 19:10 |
|
| I'd like to build an ip-up rule for the laptop | 19:11 |
|
Tv
| GyrosGeier: you want git remote update | 19:12 |
|
GyrosGeier
| thanks | 19:12 |
|
| well | 19:12 |
| → KirinDav joined | 19:12 |
|
| GyrosGeier is at the beginning of a long hacking session now | 19:12 |
| → jesse_ joined | 19:14 |
| ← careo left | 19:15 |
| → timocratic joined | 19:16 |
| → careo joined | 19:16 |
| → archfear joined | 19:18 |
|
vmiklos
| devurandom aha. it seems if you do a git --bare init before git --bare svn init, then it does (how horrible) | 19:20 |
| ← kmap left | 19:20 |
|
devurandom
| "Then it does <work>" or "Then it does <crash>"? | 19:21 |
|
vmiklos
| the previous. at least it started | 19:21 |
|
| without git --bare init it just bailed out with an error in 2 secs | 19:21 |
| → drizzd_ joined | 19:23 |
|
devurandom
| Yeah, that's true. | 19:23 |
|
| It seems as if git-svn init doesn't do a full init or something like that. | 19:24 |
|
| How do I tell it where the default ref is? | 19:24 |
|
| s/it/git or gitweb/ | 19:25 |
|
vmiklos
| it does if you don't use --bare ;) | 19:25 |
|
| the default ref is refs/heads/master | 19:25 |
|
devurandom
| But then I will have 2 times the same head, no? | 19:25 |
|
vmiklos
| yes, one remote and one local | 19:26 |
|
devurandom
| Then trunk will be the same as master | 19:26 |
|
vmiklos
| remotes/trunk, yes | 19:26 |
|
devurandom
| vmiklos: Aren't they both local now, that I fetched them from my git-svn repos? | 19:26 |
|
vmiklos
| you have one local ref: master | 19:27 |
| → nud_ joined | 19:27 |
|
vmiklos
| and you have remote refs: remotes/trunk, remotes/branches/*, remotes/tags/* | 19:27 |
|
| or so | 19:27 |
|
devurandom
| vmiklos: I don't have any refs/remotes/ | 19:27 |
|
vmiklos
| huh:) | 19:27 |
|
| where do you have your branches? | 19:27 |
|
| and tags | 19:28 |
|
| in the git-svn repo | 19:28 |
|
devurandom
| refs/tags/ and refs/heads/ | 19:28 |
|
| In git-svn I do have them like you said. | 19:28 |
|
Tv
| devurandom: are you perhaps using a very old git-svn? | 19:28 |
|
devurandom
| Tv: Probably outdated, yes. I says 1.5.4_rc2 ;) | 19:28 |
|
Tv
| hah | 19:28 |
|
vmiklos
| that isn't outdated at all:) | 19:29 |
|
devurandom
| Note the ";)" ;) | 19:29 |
|
| vmiklos: But the only exported repos is the one where I fetch from git-svn | 19:29 |
|
| I wonder how this will all work... *sigh* | 19:29 |
|
vmiklos
| exported repos? | 19:29 |
|
devurandom
| git-daemon-export-ok | 19:29 |
|
vmiklos
| well, it isn't that complicated | 19:30 |
|
devurandom
| Since now I am 100% not on the git-svn manpage way... | 19:30 |
|
vmiklos
| mkdir foo.git | 19:30 |
|
| cd foo.git | 19:30 |
|
| git --bare init | 19:30 |
|
| git --bare svn init url | 19:30 |
|
| git --bare svn fetch | 19:30 |
|
devurandom
| (That is my git-svn repos?) | 19:30 |
| → theCarpenter joined | 19:30 |
|
vmiklos
| git config remote.origin.url . | 19:30 |
| → aroben joined | 19:30 |
|
devurandom
| Oh... Now I fetch from myself?? | 19:31 |
|
vmiklos
| git config remote.origin.fetch +refs/remotes/tags/*:refs/tags/* && git config --add remote.origin.fetch +refs/remotes/trunk:refs/heads/master && git config --add remote.origin.fetch +refs/remotes/*:refs/heads/* && git fetch | 19:31 |
|
| yes | 19:31 |
|
devurandom
| Aha... | 19:31 |
|
vmiklos
| i haven't tested it yet as git --bare svn fetch is still running, but ideally this can work | 19:31 |
|
devurandom
| Sounds cool. :) | 19:31 |
|
vmiklos
| if you fully switch to git later, then you probably still want to remove the git-svn-related files, but that's a minor problem | 19:32 |
|
devurandom
| And after that I can follow the steps after "# Do the initial import on a server" from man git-svn ? | 19:33 |
|
vmiklos
| after that you already have an import (git --bare svn fetch did it) | 19:34 |
|
| if you want to update it incrementally, then you need git --bare svn fetch && git fetch | 19:34 |
| ← drizzd left | 19:34 |
|
devurandom
| vmiklos: I mean on the clients. | 19:35 |
|
| As that thing is thougth to be only a gateway/conversion-station, like described in the manpage. | 19:35 |
|
vmiklos
| on the clients you can just clone it as a normal git repo | 19:36 |
|
| or do you want to use git-svn on the clients, too? | 19:36 |
|
devurandom
| vmiklos: I want to commit to svn, yes. | 19:36 |
| → Giel joined | 19:36 |
|
devurandom
| Hello Giel. :) | 19:36 |
|
vmiklos
| uh :/ no idea | 19:36 |
|
Giel
| hi devurandom :-) | 19:36 |
|
vmiklos
| i never used git-svn dcommit from a repo which is created by git clone | 19:37 |
|
devurandom
| vmiklos: I hope this doesn't mess it up then... | 19:37 |
|
vmiklos
| probably it's possible but you need someone who knows how to do this ;) (probably you should ask on the list) | 19:37 |
|
Giel
| devurandom: I think git-svn uses some special config options in .git/config which git-clone doesn't copy over | 19:38 |
| → grahal joined | 19:39 |
| ← desegnis left | 19:39 |
| → desegnis joined | 19:40 |
|
mjc
| devurandom: did those videos help you? | 19:41 |
|
cehteh
| is it possible to let submodules link to a head instead to a specific commit? | 19:41 |
|
vmiklos
| nope | 19:41 |
|
devurandom
| mjc: Videos? | 19:41 |
|
mjc
| or was that someone else | 19:42 |
|
devurandom
| Well, if you have something which might even remotely help me, I'd be glad to get it. :) | 19:42 |
| ← dsaxena left | 19:42 |
|
cehteh
| mhm | 19:42 |
|
vmiklos
| i already asked on the list earlier (as i think it would be a nice feature) but i got the answer "you don't want to do this" ;) | 19:43 |
|
cehteh
| well they dont know for what i want it :) | 19:43 |
|
vmiklos
| (which is true in some cases, but i think it would be nice if i could just link to a given branch) | 19:43 |
|
grahal
| is there a way that after a rebase, commits get lost? | 19:43 |
|
cehteh
| for software configuration thats certainly a bad idea | 19:44 |
|
vmiklos
| is it an interactive rebase? | 19:44 |
|
devurandom
| Yeah, cool... | 19:44 |
|
| Now git-svn-rebase gives me: fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree. | 19:44 |
|
cehteh
| http://www.pipapo.org/webgit?repo=webgit&object=af66dbba9f836bd298b2dbe0cd476d0bd4859cbe | 19:44 |
|
devurandom
| Whatever that means... | 19:44 |
|
cehteh
| .. see submodule integration in the browser, would be nice to have the toplevel project just accumulate everything below as submodule which links to HEAD | 19:45 |
|
| but well .. not really important | 19:45 |
|
devurandom
| And on git-fetch: fatal: 'origin': unable to chdir or not a git archive | 19:47 |
| ← archfear left | 19:49 |
|
devurandom
| I'll redo it again, using the method you described above. Maybe that helps... | 19:49 |
|
| It still segfaults on me. Though I could swear it worked yesterday... | 19:51 |
|
grahal
| any idea how to look for lost dir/files in git if it seems like no commits point to them? | 19:59 |
|
Tv
| git lost-found | 19:59 |
| ← jengelh left | 20:07 |
| ← Phoop left | 20:07 |
| → jengelh joined | 20:08 |
| ← jesse_ left | 20:08 |
|
jengelh
| Running git-gc in a bare repository seems detrimental... | 20:11 |
| ← Tux32 left | 20:11 |
|
jengelh
| refs/heads/ is cleared | 20:11 |
|
grahal
| Tv: thanks... I see that some commits have portions of the files I wanted to restore... is there any way that I tie up everything? | 20:12 |
|
vmiklos
| so now you have packed refs:) | 20:12 |
|
jengelh
| vmiklos: that's not nice ^_^ | 20:12 |
| ← sdfahakan left | 20:12 |
|
vmiklos
| why not? | 20:12 |
|
Tv
| grahal: usually git show COMMITISH:PATH | 20:13 |
|
Mikachu
| jengelh: see the packed-refs file and man git-pack-refs | 20:13 |
|
jengelh
| vmiklos: custom script scanned refs/heads/ for available branches :p | 20:13 |
|
vmiklos
| that's bad | 20:13 |
|
| use git ls-remote (for example) for listing refs | 20:14 |
|
Tv
| git rev-parse | 20:14 |
|
| for-each-ref | 20:14 |
|
| there's plenty of tools | 20:14 |
|
jengelh
| nah, ls-remote is good. but 'remote'? should be local, not? | 20:14 |
|
vmiklos
| 'git ls-remote .' or so | 20:15 |
|
| but yes, Tv has better ideas:) | 20:16 |
|
jengelh
| but git-rev-parse is not one of them | 20:16 |
| ← Rogan left | 20:16 |
|
Tv
| well not for listing out the refs | 20:16 |
|
vmiklos
| git 'git for-each-ref refs/heads' | 20:17 |
|
| s/^git // | 20:17 |
| ← theCarpenter left | 20:18 |
| → theCarpenter joined | 20:21 |
| → johan-s joined | 20:23 |
|
hachi
| can I use git submodules to represent the structure of a single subversion repo that has multiple projects under /trunk and each one split apart when tagged? | 20:31 |
|
| http://nopaste.snit.ch/12073 # I'm trying to do it like this, but I'm kinda shooting in the dark with the idea. Maybe someone else has attempted it? | 20:32 |
|
vmiklos
| you can but probably you don't want so | 20:32 |
|
| http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#submodules | 20:33 |
|
| have you read this? | 20:33 |
| → jesse_ joined | 20:33 |
|
hachi
| nope, that's my first failing, missed that part | 20:33 |
|
| reading it now | 20:33 |
|
vmiklos
| basically you want submodules when it makes sense to stick to a given version of the submodule. if you create such a trunk.git, this will only cause problems for you | 20:35 |
|
hachi
| okay, so then this is the wrong answer | 20:35 |
|
| I'm starting with what I consider to be a messed up svn repo, and trying to use git-svn with it | 20:35 |
|
Giel
| hachi: maybe you might want to clean it out in subversion first ? | 20:36 |
|
hachi
| http://code.sixapart.com/svn/mogilefs/ # under trunk there's 6 different projects, and then in tags each project has a prefix on the tagname | 20:36 |
|
| I can't clean it out, that would destroy the history | 20:36 |
|
| while I do own this repo, and in theory I could do whatever I want... the real problem is that other people use it | 20:37 |
| → _mountie joined | 20:37 |
|
vmiklos
| he means move the tags/branches to their own subdir for each project | 20:37 |
| ← mountie left | 20:37 |
|
jengelh
| something like git-svn --trunk=trunk/myproj --tags=tags/myproj perhaps? | 20:37 |
|
vmiklos
| maybe you can even do so:) | 20:37 |
|
Giel
| hachi: yes, as vmiklos says; I meant move all projects to a project/trunk:project/branches:project/tags structure | 20:38 |
|
hachi
| this works with git-svn? I assumed that it understood the history of everything in the filesystem, and would just get more confused | 20:38 |
| tarbo → tarrybone | 20:39 |
|
Giel
| hachi: ah yes, actually git-svn might not like that at all... | 20:39 |
| tarrybone → tarbo | 20:39 |
|
vmiklos
| i would try git svn init and then hacking .git/config manually. maybe that would work | 20:40 |
|
hachi
| I can make a copy of the repo and attempt it | 20:40 |
|
| git-svn doesn't allow remotes to have * anywhere in the filepath, it must be in it's own component /*/ style | 20:41 |
|
| but still, the first idea I'll also try and see if it works | 20:41 |
|
vmiklos
| i'm not exactly sure btw what projects do you have, ie there are tags/MogileFS-Client-*, but there is no trunk/MogileFS-Client | 20:43 |
|
hachi
| it's in api/perl | 20:43 |
|
| trunk/api/perl/MogileFS-Client | 20:43 |
|
vmiklos
| ugh:) | 20:43 |
|
hachi
| yeah | 20:43 |
|
vmiklos
| so tunk is trunk/api/perl/MogileFS-Client, tags are tags/MogileFS-Client-* and no branches? | 20:44 |
|
| +r | 20:44 |
|
hachi
| given the choice I might have put these each in seperate repos, but... we didn't | 20:44 |
|
| it was a group decision, and we went with the 'easiest' out of what we thought was pragmatism | 20:44 |
|
| yes | 20:44 |
|
| well, there are branches, but for the sake of git-svn bridging I'll ignore them | 20:45 |
|
vmiklos
| k | 20:45 |
|
hachi
| the sucky part is I can't say tags/MogileFS-Client-* to git-svn | 20:45 |
|
vmiklos
| not sure | 20:45 |
|
hachi
| I'm trying to see if just saying tags/* will do the right thing, maybe git-svn will see tags/something and go "hey, it was a copy of something never in my trunk... I bet I'm supposed to ignore this" | 20:46 |
|
vmiklos
| $ git svn fetch | 20:47 |
|
| Missing trailing '/' on left side of: 'tags/MogileFS-Client-*' (tags/MogileFS-Client-) | 20:47 |
|
hachi
| says right in the manpage that you can't do that | 20:47 |
|
| or EOL on both sides of the * | 20:47 |
|
vmiklos
| maybe you can comment out this check in git-svn and see what happends :) | 20:47 |
|
hachi
| ep | 20:47 |
|
vmiklos
| -d | 20:48 |
| → cartman joined | 20:49 |
| ← Lash| left | 20:49 |
|
devurandom
| I remember where the difference to yesterday is... I didn't use --use-svnsync-props but --rewrite-root yesterday... | 20:50 |
|
doener
| EOL? Now that I look at it, EOL makes no sense there. We're talking about the left side, the * must be enclosed in // or /: ... Or am I missing something? | 20:50 |
|
devurandom
| I will try to confirm that this is the issue and then send a mail to the list... | 20:50 |
|
hachi
| doener: I'm just recalling what the manpage says... I rememeber quite distinctly that it says EOL or / | 20:51 |
|
doener
| hachi: yeah it does, but it doesn't make sense to me | 20:51 |
| ← pasky left | 20:51 |
|
doener
| oh well, will just send a patch and see if someone corrects me ;-) | 20:52 |
|
hachi
| well, for the record, git-svn doesn't just dtrt in this case | 20:52 |
|
Pieter
| dtrt? | 20:53 |
|
doener
| do the right thing | 20:53 |
|
Pieter
| ah :) | 20:53 |
|
jengelh
| time dtwt. | 20:53 |
| ← kumbayo left | 20:55 |
|
hachi
| so, why does git-svn let you specify a name in the svn-remote section? | 20:56 |
|
| the default is 'svn' when it makes the config for you | 20:56 |
|
doener
| hachi: you can have more than one | 20:56 |
|
vmiklos
| then say 'git svn fetch foo' | 20:57 |
|
hachi
| more than one what though? is this only for submodules, or is it for something else? | 20:57 |
|
| I can fetch from more than one location sure, but what's the point | 20:57 |
| ← ebzzry left | 20:57 |
|
vmiklos
| there is no point in most cases:) | 20:57 |
|
hachi
| obviously I'm not within that set currrently | 20:58 |
|
vmiklos
| say you have foo-ng and foo project and you want to use foo but cherry-picking changes from foo-ng to foo | 20:58 |
|
| then maybe you want this | 20:58 |
|
| not something for you as far as i see ;) | 20:58 |
|
doener
| hachi: svk comes to mind | 20:59 |
|
hachi
| okay, so that's more for stitiching things together again once they are split apart | 20:59 |
|
| and I'm still trying to split them apart, so... ignore that | 20:59 |
|
| ignore that part of git-svn | 21:00 |
| ← desegnis left | 21:05 |
| ← theCarpenter left | 21:07 |
| ← Giel left | 21:13 |
| → \ask joined | 21:13 |
| ← jesse_ left | 21:16 |
| → reval joined | 21:17 |
| _mountie → mountie | 21:19 |
| ← wagle left | 21:22 |
| ← reval left | 21:23 |
| → reval joined | 21:26 |
| → madewokherd` joined | 21:28 |
| stillLotR → LotR | 21:30 |
| ← cartman left | 21:31 |
| ← madewokherd left | 21:38 |
| ← GyrosGeier left | 21:40 |
| → chris2 joined | 21:41 |
| → loswillios joined | 21:41 |
|
loswillios
| hi | 21:42 |
|
| I've patched my linux-tree manually (with patch). Now I want a clean tree again, how would I do that? | 21:43 |
|
| git-status and then git-revert on the single files isn't the right way I guess | 21:44 |
|
doener
| git reset --hard | 21:44 |
|
loswillios
| cool, thanks | 21:45 |
| → sverrej joined | 21:45 |
| ← sverrej left | 21:46 |
|
loswillios
| is that the recommended way (patching with 'patch') or is there a git-way too? | 21:46 |
| ← KirinDav left | 21:47 |
|
madduck
| copy src/events/handlers/{CTLSOCK_PING.py => NOOP.py} (83%) | 21:47 |
|
| how the heck does git know this??? | 21:47 |
|
| i copied the file, changed it, added it. | 21:47 |
|
tpope
| loswillios: git-apply | 21:47 |
| bdiego → midgar | 21:47 |
|
tpope
| it's atomic, among other things | 21:47 |
|
doener
| madduck: it just compares the contents | 21:47 |
|
madduck
| but the contents is not identical | 21:47 |
|
doener
| but above a certain threshold | 21:48 |
|
tpope
| it's 83% identical :) | 21:48 |
|
madduck
| holy cow | 21:48 |
|
vmiklos
| maybe a few lines of code with a big copyright header or so :) | 21:48 |
|
madduck
| vmiklos: yeah | 21:48 |
|
vmiklos
| then it's logical | 21:48 |
|
loswillios
| tpope: oki, will check it out | 21:49 |
|
doener
| madduck: the cool thing is that "git log -p -C" should even show you an exact patch for the stuff you changed, not just some "oh well, this file is new, of course _everything_ was added right now" | 21:49 |
| → dsaxena joined | 21:49 |
|
madduck
| this is pretty nifty | 21:49 |
| → KirinDav joined | 21:51 |
| ← ironfroggy left | 21:52 |
| ← spuk- left | 21:53 |
|
hachi
| how do I move master to point to something else remote? | 21:59 |
|
| oh, you just switch branches | 21:59 |
| ← aroben left | 21:59 |
| → spuk- joined | 22:00 |
|
hachi
| so, git-svn didn't like my attempt to clean up the svn source tree at all | 22:00 |
|
| the history is not looking very linear | 22:00 |
|
doener
| hm, this looks "unexpected": http://git.pastebin.com/d4d18a46f | 22:01 |
|
| I had accidently fetched 2.6.16-rc2-mm1 earlier, removed the tag, gc --prune, and then tried to fetch 2.6.24-rc6-mm1 | 22:02 |
|
| but git decided to fetch both, the new one as well as the old one once again | 22:02 |
|
| is that just me doing sth. stupid, or a genuine bug? | 22:03 |
|
vmiklos
| where is the problem? | 22:04 |
|
| now you probably want git reset --hard v2.6.24-rc6-mm1 | 22:05 |
| ← KirinDav left | 22:05 |
| → KirinDav joined | 22:05 |
| → theCarpenter joined | 22:05 |
|
doener
| vmiklos: git fetch fetched more than I requested | 22:07 |
|
| vmiklos: I only requested v2.6.24-rc6-mm1 in that second run (which is in the paste), but git fetch v2.6.24-rc6-mm1 _and_ v2.6.16-rc2-mm1. | 22:08 |
| ← cmarcelo left | 22:09 |
|
vmiklos
| i don't think you can fetch only one tag | 22:11 |
|
| well, you can but in fact you need the objects from a previous tag for a later tag, so it's no good not fetching the tag itself | 22:11 |
| → Tux32 joined | 22:12 |
| ← wayneeseguin left | 22:12 |
|
doener
| vmiklos: hm? I doubt that v2.6.16-rc2-mm1 is an ancestor of v2.6.24-rc6-mm1 | 22:13 |
| ← lcapitulino left | 22:13 |
|
doener
| by your argumentation, it should've fetched all other tags as well | 22:14 |
| → kumbayo joined | 22:14 |
| ← soma- left | 22:17 |
| ← HG` left | 22:17 |
|
vmiklos
| yes, you probably did | 22:17 |
| → soma- joined | 22:18 |
| → wagle joined | 22:19 |
|
vmiklos
| well, i don't know that repo but only tags that do not point at objects reachable from the branch heads are not fetched automatically | 22:19 |
|
| which means that in most cases tags are always fetched - without using fetch -t | 22:19 |
|
doener
| vmiklos: those -mm* tags are on topic branches. Upstream has e.g. tags v2.6.22-rc3, v2.6.22-rc4, and so on | 22:20 |
| → pasky joined | 22:21 |
|
doener
| at each tag, a branch like v2.6.22-rc3-mm1 is created, and a tag v2.6.22-rc3-mm1 is created on that branch | 22:21 |
|
vmiklos
| i would do: git remote add mm git://git.kernel.org/pub/scm/linux/kernel/git/smurf/linux-trees.git; git fetch mm; git reset --hard mm/v2.6.22-rc3-mm1 or so | 22:22 |
|
doener
| vmiklos: I don't want all that mm crap, thus I asked git to just fetch a single tag for me | 22:22 |
|
| vmiklos: and the first run, requesting just v2.6.16-rc2-mm1 did just that | 22:23 |
|
| but the second one, although instructed to fetch v2.6.24-rc6-mm1, did _also_ fetch v2.6.16-rc2-mm1 again | 22:23 |
| → Plnt joined | 22:24 |
| ← krsanky left | 22:24 |
| ← kumbayo left | 22:26 |
|
vmiklos
| hm | 22:26 |
| ← KirinDav left | 22:27 |
|
gitster
| if it was not by explicit "git fetch $url $this_tag" request but by lazy "git fetch" or "git fetch $nickname" request with configured remote.$nickname.fetch, I suspect that it is working as designed (you are triggering automatic tag following in that use case). | 22:28 |
| → rhalff joined | 22:28 |
|
doener
| preparing a script right now to reproduce | 22:28 |
|
gitster
| automatic tag following picks up tags that point at commits that exist in your repository automatically. That commonly is what people want. "git fetch --no-tags" should disable it. | 22:30 |
|
doener
| http://git.pastebin.com/d4f53698e | 22:30 |
| ← Plnt left | 22:32 |
| ← pasky left | 22:32 |
|
doener
| hm, that just fetches the tag though. For the kernel thing, it actually downloaded 5MB, so I doubt that that was just the tag | 22:32 |
| → Plnt joined | 22:32 |
| ← rhalff left | 22:36 |
| → mithro joined | 22:36 |
|
hachi
| http://hachi.kuiki.net/stuff/gitk.png | 22:40 |
|
| that does not look right, dangit :( | 22:40 |
| → pasky joined | 22:40 |
| ← sunblush left | 22:42 |
| ← anttih left | 22:42 |
| → aroben joined | 22:42 |
| ← orospakr left | 22:43 |
|
devurandom
| Sadly another bugreport: http://marc.info/?l=git&m=119983162014061&w=2 | 22:43 |
| ← Plnt left | 22:44 |
| → Plnt joined | 22:44 |
|
vmiklos
| devurandom git svn fetch finished here and it works properly - so thanks for for suggestions on how to do the conversion without a working directory - i've updated the blog entry | 22:50 |
| → metafollic joined | 22:50 |
|
theCarpenter
| crap | 22:50 |
| ← \ask left | 22:50 |
|
devurandom
| Seems as if I am the only one where it does not work. ;) | 22:50 |
|
theCarpenter
| one of my intro programming courses is mandating SVN use for our programming projects | 22:51 |
|
devurandom
| vmiklos: Which version of git are you using? | 22:51 |
|
vmiklos
| 1.5.4.rc2.38.gd6da3 at the moment | 22:51 |
| ← nud_ left | 22:51 |
| → \ask joined | 22:52 |
|
theCarpenter
| we have to submit our full project repo and history with the actual final source code version | 22:52 |
|
devurandom
| Does that have any git-svn differences compared to 1.5.4.rc2? | 22:52 |
| → aroben_ joined | 22:52 |
|
theCarpenter
| can i publish git repos as SVN repo? | 22:53 |
|
vmiklos
| devurandom i don't think so | 22:53 |
|
robinr
| you can export to SVN | 22:53 |
|
theCarpenter
| wonderful | 22:53 |
|
| ill talk to my professor and promote git a bit i think B) | 22:53 |
|
robinr
| your'e supposed to learn to use more than one SCM I guess | 22:54 |
|
| SVN is just an example to practice on | 22:54 |
|
theCarpenter
| it is | 22:54 |
|
| but none of the guys have heard about anytihng else | 22:55 |
|
devurandom
| vmiklos: Would you mind to try this on a svn dump of mine? | 22:55 |
|
theCarpenter
| except maybe perforce | 22:55 |
|
| and by guys, i mean profs/TAs | 22:55 |
| ← aroben left | 22:55 |
|
vmiklos
| devurandom if you upload a tarballs somewhere, i can | 22:55 |
| aroben_ → aroben | 22:55 |
|
devurandom
| Ok, sec. | 22:55 |
| → delroy joined | 22:56 |
| ← reval left | 22:57 |
| ← Fullmoon left | 22:58 |
| → ironfroggy joined | 22:59 |
| ← ironfroggy left | 22:59 |
| → KirinDav joined | 23:00 |
| → ironfroggy joined | 23:00 |
|
doener
| gitster: hm, can't reproduce git fetching the objects again... it now always just fetches the tag (as expected) | 23:00 |
| cbrake → cbrake_away | 23:01 |
| ← ferdy left | 23:02 |
| ← delroy left | 23:03 |
| → federico__ joined | 23:03 |
| ← alley_cat left | 23:03 |
|
federico__
| I get a problem building gitk; anyone can help? | 23:04 |
|
| make[2]: *** No rule to make target `giml.dtd', needed by `all-am'. Stop. | 23:04 |
|
devurandom
| vmiklos: "if you later switch fully to git, then you want to remove the git-svn metadata - doing so is the easiest if you just clone the repo" git-svn parts of the repository are not preserved when doing git-clone? | 23:07 |
| → duncanm joined | 23:08 |
| ← duncanm left | 23:08 |
| ← \ask left | 23:08 |
|
Ilari
| theCarpenter: If you can assign linear branches for commits, then it is possible to dump linearized version of history and commit that to SVN. It sure as heck doesn't look 'natural' though (it probably merges like crazy to SVN person). | 23:08 |
|
robinr
| linearizing history can be very pretty | 23:09 |
| → duncanm joined | 23:09 |
|
robinr
| it also gives you an excuse to drop those oopses | 23:10 |
|
duncanm
| i made a few commits on my new laptop, and i forgot to set GIT_AUTHOR_EMAIL, is there an easy way to fix those commits? | 23:10 |
|
| i haven't pushed it anywhere, so it's all local | 23:10 |
| → kristoffer joined | 23:10 |
|
Ilari
| theCarpenter: And it is difficult to do in stable manner. But stability is presumambly not required here, as it is one-shot dump. | 23:11 |
|
kelvie_
| duncanm: git-filter-branch is probably what you're looking for | 23:11 |
| → cartman joined | 23:11 |
|
duncanm
| hmm, i'm on git 1.5.2.5, and i don't have that | 23:12 |
|
kelvie_
| hrm.. perhaps time to upgrade then? :P | 23:13 |
| → YGingras__ joined | 23:14 |
| ← YGingras_ left | 23:14 |
|
vmiklos
| devurandom correct | 23:16 |
|
robinr
| duncanm: that question was on the mailing list just one or two days ago | 23:17 |
|
devurandom
| vmiklos: So that is what I regenerate with the "git svn init && git update-ref" part described in the manpage? | 23:17 |
|
robinr
| and an answer | 23:17 |
|
duncanm
| robinr: oh nice - do you have a link? | 23:17 |
|
devurandom
| vmiklos: Got my message? | 23:17 |
|
| duncanm is build git 1.5.3.x on ubuntu | 23:18 |
|
vmiklos
| devurandom private one? | 23:18 |
|
duncanm
| building | 23:18 |
|
devurandom
| Yes, | 23:18 |
|
vmiklos
| they're on ignore :/ | 23:18 |
|
| use /notice if you want something :) | 23:18 |
|
robinr
| duncanm: Look for "Retroactively change email signature?" | 23:18 |
|
duncanm
| cool | 23:18 |
| → flaguy joined | 23:19 |
|
devurandom
| Better? | 23:19 |
| → jsimonss_ joined | 23:19 |
|
vmiklos
| devurandom regarding "git svn init && git update-ref" i'm not sure what exactly they're doing - in fact no idea what is the recommended way to clone a git-svn repo properly | 23:19 |
|
devurandom
| Well, that is what man git-svn says... | 23:20 |
|
gitster
| If one spends time and energy to build something from source, 1.5.3.x is a wrong thing to build at this time. Why not do 1.5.4-rc2 (or even 'master')? | 23:20 |
| ← octopod left | 23:20 |
|
gitster
| Otherwise you are obsolete the time you finish building, and will be ancient by the end of the month. | 23:20 |
|
duncanm
| gitster: i guess you have a build | 23:20 |
| ← jsimonss left | 23:20 |
|
duncanm
| s/build/point/ | 23:21 |
|
kelvie_
| just get git from git.git :P | 23:21 |
|
duncanm
| yeah | 23:21 |
|
kelvie_
| it's just 37 M | 23:21 |
|
gitster
| Thanks. We just got another tester ;-) | 23:21 |
|
duncanm
| and i guess i can remove the git package from ubuntu and just use a version in $HOME/bin | 23:21 |
|
| i run git.git in my other box - i just got a eee pc for x'mas | 23:21 |
|
kelvie_
| well you need one bootstrapped to get it remember ;) | 23:22 |
|
duncanm
| sure ;-) | 23:22 |
|
kelvie_
| you don't want to be gitless | 23:22 |
|
duncanm
| heh, my domain name is a-chinaman.com, and i host my git stuff on git.a-chinaman.com | 23:22 |
|
kelvie_
| haha | 23:22 |
|
duncanm
| i didn't notice that odd that domain name is until recently | 23:22 |
|
| s/that/how/ | 23:22 |
| ← theCarpenter left | 23:23 |
| → sverrej joined | 23:23 |
|
vmiklos
| devurandom huh, how do i create an svn repo from that dump file? | 23:24 |
|
devurandom
| vmiklos: bzcat warzone2100.bz2 | svnadmin load warzone2100 | 23:24 |
|
vmiklos
| thx | 23:25 |
|
| vmiklos does not know too much about svn administration :) | 23:25 |
|
devurandom
| I have not tested the bzcat part. If it fails, you can also bunzip2 it and then use cat. | 23:25 |
|
| devurandom neither. | 23:25 |
|
devurandom
| I just learned it in the last 2 days. | 23:25 |
|
jengelh
| why cat | 23:26 |
|
| bzip2 -cd | 23:26 |
| ← cartman left | 23:26 |
|
Tv
| because bzcat is easier to type | 23:26 |
|
kelvie_
| whoops git.git is 21M on my system | 23:26 |
|
| forgot to repack | 23:26 |
|
jengelh
| 21M is nothing :p | 23:26 |
|
kelvie_
| it is :P | 23:26 |
|
| but it's almost half the size of my earlier quote | 23:27 |
|
vmiklos
| devurandom erm, it requires an argument and an empty dir is not enough | 23:27 |
|
devurandom
| vmiklos: "it"? | 23:27 |
|
Tv
| vmiklos: do you read documents, like ever? | 23:27 |
|
vmiklos
| svn load, sorry | 23:27 |
|
devurandom
| Ah, sorry. | 23:27 |
|
| vmiklos: It has to be the following: | 23:28 |
|
| svnadmin create warzone2100 && bzcat warzone2100.bz2 | svnadmin load warzone2100 | 23:28 |
|
vmiklos
| Tv well, i offered to help testing git-svn but i don't want to learn svnadmin :) | 23:28 |
|
| devurandom thx | 23:28 |
|
devurandom
| I have to thank you. :) | 23:29 |
|
duncanm
| building git on an eeepc is not the fastest thing on earth ;-) | 23:32 |
|
| hmm | 23:33 |
|
jengelh
| distro should provid eit | 23:33 |
|
duncanm
| MSGFMT po/de.msg make[1]: *** [po/de.msg] Error 127 | 23:33 |
|
| jengelh: ubuntu has only 1.5.2 | 23:33 |
|
jengelh
| NOT ubuntu | 23:33 |
|
| whatever ox ships | 23:33 |
| ← mjc left | 23:34 |
|
| duncanm installs gettext | 23:34 |
| → mjc joined | 23:35 |
|
vmiklos
| devurandom duh, why didn't you just told me it's at svn://svn.gna.org/svn/warzone/trunk/ ;) (or is it different?) | 23:35 |
| ← mjc left | 23:36 |
|
devurandom
| That one is different. | 23:36 |
|
vmiklos
| ah, k | 23:36 |
|
devurandom
| I synced a copy, dumped the repos, edited it and will later ask it to be uploaded. | 23:37 |
|
| When I sort out why all this problems arrise. | 23:37 |
|
| (svn itself doesnt have any problems with it, btw.) | 23:37 |
|
| vmiklos: And svn://svn.gna.org/... is usually not working. "Malformed network data" and similar responses. | 23:38 |
|
vmiklos
| ok, then it's better this way:) | 23:39 |
|
| duncanm builds docs | 23:39 |
|
hliusv561
| vmiklos: Maybe try creating empty SVN repo there and try the load then? | 23:40 |
|
vmiklos
| already in progress:) | 23:42 |
|
devurandom
| hliusv561: Yeah, I forgot to tell him that he needs an empty repos. | 23:42 |
|
Ilari
| BTW: What's the "right" way to load "dumps" made using 'git bundle create foo.bundle --all'? | 23:45 |
| ← KirinDav left | 23:46 |
| ← kristoffer left | 23:47 |
| ← dancor left | 23:51 |
|
vmiklos
| is there any way to make --ext-diff the default when using git log -p? | 23:51 |
|
duncanm
| hmm | 23:58 |
|
| how do i specify a <command> in git-filter-branch? | 23:59 |
|
vmiklos
| see the manpage, it has several examples | 23:59 |
|
duncanm
| git-filter-branch --env-filter 'git-commit --author "Duncan Mak [email@hidden.address] -- that doesn't work | 23:59 |
| → Eridius joined | 23:59 |
|
Eridius
| is there any sort of bug tracker? I've just found a bug in git-svn but I don't know if it's been reported before | 23:59 |