IRCloggy #git 2010-11-30

Logs Search ←Prev date Next date→ Channels Documentation

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

2010-11-30

fr0sty-away joined00:00
cannonball left00:00
hyperair joined00:01
spaceonline left00:01
SethRobertson smolyn: I made an example using numbers and it works exactly the same. I can provide my example if you want00:01
Tommy[D] left00:02
an0maly joined00:02
doctrine_noob joined00:03
chrischambers left00:03
SethRobertson smolyn: However, it is true that if you have merged and there are fewer commits to the branch tag, it may be described to that commit.00:04
schacon left00:04
Scala_ left00:04
SethRobertson smolyn: It sounds like you want `git describe --first-parent` which doesn't exist (and can be confused by fast-forward merges, but that is another issue).00:05
Scala_ joined00:05
SethRobertson joined00:06
tewecske left00:06
phantomcircuitmuhammed00:08
aphelion left00:10
chrischambers joined00:10
kanzure SethRobertson: wait, how can it be a merge if there's only one parent (the latest relevant commit in Distribution)?00:10
zombor joined00:10
SethRobertson kanzure: You are merging the last useful commit in Distribution with the last pre-move commit in master producing the squashed commit representing all of the moves.00:11
kanzure SethRobertson: there are no pre-move commits in master00:11
oh wait. there might be.00:11
ok like if someone was moving multiple things into master at the same time to start 'master'00:12
eletuchy left00:12
thiago_home left00:12
smolyn SethRobertson: i played around with some tests myself, if master was 1.0 and a commit in the branch was tagged 2.0, git describe continued to say master was "1.0".... however, when i switched to using v1, v2, v3, the merge to master would always change git describe's output00:12
kanzure SethRobertson: but what if 'master' was started with a move from Distribution (or somewhere else)00:13
SethRobertson kanzure: This is simulating a merge of Distribution into master. I assume master has commits prior to this "merge" that need to be preserved00:13
smolyn exact same method of commits in both cases, so git describe must have some special voodoo re: #'s vs strings00:13
kanzure SethRobertson: well, the only prior commits are other "merges"00:13
SethRobertson: i.e. similar things that need to be fixed00:13
SethRobertson: so there's an initial one at some point.00:13
Eaven left00:13
SethRobertson smolyn: I have an example which has the same behavior (and not the one you apparently want) for 1.1 and v1.100:14
kanzure i guess i can make a fake initial commit for 'master'00:14
SethRobertson kanzure: So...one option is to create an "octopus merge" representing all of these different branches being merged into the first master commit00:14
muhammedphantomcircuit00:15
kanzure hmm00:15
kanru left00:15
smolyn huh, damn. now that makes me more confused then ever.00:15
kanzure hopefully they don't conflict00:15
SethRobertson kanzure: basically take the tree represented by the final of these initialization commits and the last useful commit (not including the deletes) on the feeder branches and make one giant merge00:16
smolyn: If you want the example, let me know00:16
Tommy[D] joined00:16
kanzure neato00:16
smolyn please :)00:16
SethRobertson mkdir foo; cd foo; git init; echo A>A; git add A; git tag v1.1 -a -m "1.1"; git commit -m A; git checkout -b new; echo B>B; git add B; git commit -m B; git tag v1.1.1 -a -m 1.1.1; git checkout master; echo AA>>A; git commit -a -m AA; git tag v1.2 -a -m 1.2; echo AAA>>A; git commit -a -m AAA; git merge new; gitk --all --date-order00:16
Obviously delete the "v"s for the alternate00:16
smolyn thanks00:16
zombor left00:18
_psychic_ left00:18
mlq joined00:19
mlq left00:19
mlq joined00:19
hachi how can I get the name of the upstream branch, if there is one?00:22
shiba_yu36 joined00:22
hachi if I say git rev-parse @{u} it will give me a hash00:22
but not a name00:22
mfacenet left00:22
hachi but symbolic-ref doesn't work with commitish, only symbolic ref names00:22
(which is slightly understandable)00:22
completely, even00:23
tbf left00:23
engla left00:24
smik```` joined00:25
hachi but then git config branch.master.remote and branch.master.merge need to be parsed with the remote.$remote.fetch line00:25
to give me a local branch name00:25
kanzure SethRobertson: so an octopus-merge can serve as an initial commit to a branch?00:25
smik``` left00:26
SethRobertson kanzure: I don't see any reason why not, but I have not performed any studies of initial commit subtles00:26
Eridius hachi: `git rev-parse --symbolic-full-name --abbrev-ref @{u}`00:27
hachi: that gives you the full origin/branchname ref, so it's suitable for local operations but not for, say, constructing a refspec00:27
hachi I don't think that will stay consistent00:27
Eridius what do you mean?00:28
oh sorry, --abbrev-ref=loose00:28
that will make it always give you the short form00:28
hachi if more than one branch happens to be sitting on that commitish00:28
it will give me one of them00:28
not necesarally the one I'm looking for00:28
Eridius hachi: hrm? This isn't using commitish's. It's using the current branch00:28
banisterfiend left00:29
hachi @{u} is sorta implied to be a commitish00:29
Eridius @{u} doesn't operate on the current commit, it operates on what HEAD points to00:29
nope00:29
hachi according to the rev-parse docs00:29
banisterfiend joined00:29
krainboltgreene left00:29
Eridius @{u} is the same as HEAD@{u}00:29
hachi yes00:29
but HEAD@{u} is going to be a commit00:29
Eridius in this case, it's dereferencing HEAD to a branch, not a commit00:29
orafu left00:29
Eridius HEAD is a symbolic ref that points to a branch. It goes no further than that00:29
orafu joined00:29
alvaro_o left00:30
alvaro_o joined00:30
Eridius hachi: if you think about how @{u} works, it _cannot_ go further than that. It uses the branch name to look up config variables00:30
hachi yes, but I figured since the command is rev-parse00:30
it would be turning it into a revision00:30
Eridius if you have master checked out, then @{u} is identical to master@{u}00:31
hachi and then the option --symbolic-full-name would be picking the first ref it sees pointing to that commit00:31
Eridius nope00:31
that's not how it works. rev-parse doesn't always transform the input into a commit00:31
e.g. in the case of symbolic-full-name, it definitely doesn't00:31
you can verify for yourself - `git rev-parse --symbolic-full-name $(git rev-parse HEAD)` will emit nothing00:31
hachi ok, sorry then00:32
fedesilva left00:32
hachi thanks for the long explanation00:32
I wasn't trusting this till now00:32
Eridius heh00:32
hachi I figured I was getting the right answer from rev-parse by chance00:32
not by definition00:32
Eridius ah00:33
priidu left00:33
Heimidal left00:34
hachi so should I be using00:34
git rev-parse --symbolic-full-name HEAD00:34
instead of00:34
git symbolic-ref HEAD00:34
Eridius possibly. The rev-parse version can let you say --abbrev-ref to get the short form if you want00:35
hachi yeah, there is that00:35
Eridius note that if you have a detached HEAD, the rev-parse way will just emit "HEAD" and the symbolic-ref way will throw an error00:35
hachi oh really, I thought HEAD contained a sha1 in that case... haven't tried that00:36
Eridius it does00:36
icwiener left00:36
banisterfiend left00:36
Eridius --symbolic-full-name prevents rev-parse from resolving down to a sha100:36
abetaha joined00:36
hachi is there a way to get the sha1 if there is one?00:37
Eridius check to see that the output is HEAD and, if so, just go straight for `git rev-parse HEAD`?00:37
hachi assuming symbolic-ref throws an error, that's a little counterintuitive to me00:37
Eridius symbolic-ref will throw an error because you gave it the name of something that's not a symbolic ref00:37
leroux left00:37
leroux joined00:38
hachi oh ew, so what is used to parse HEAD ?00:38
Eridius what do you mean?00:38
hachi hmm, better question I think00:38
what symbolic ref exists other than HEAD ?00:38
Eridius if you have a detached HEAD, that means HEAD is pointing to a specific commit rather than being a symbolic ref00:38
in general, none00:39
you can create others, but HEAD is the only one that exists in a typical repo00:39
hachi then why does this command take an argument?00:39
Eridius also note that HEAD is the only ref outside of the refs/ namespace that gets considered a root by garbage collection00:39
banisterfiend joined00:39
Eridius because you _can_ have other symbolic refs. It's just rather unusual00:39
Tuller joined00:39
banisterfiend left00:39
hachi what can it be used for though... what uses them00:39
gc isn't aware00:40
Eridius besides HEAD, I don't know00:40
mabrand left00:40
hachi what a strange feature then :)00:40
Eridius upon further reflection, my comment on gc probably doesn't matter, because a symbolic ref, by definition, points to an existing ref (which would already be a root)00:40
hachi yeah00:40
well hopefully does00:40
Eridius btw, the git-completion prompt apparently uses symbolic-ref, and falls back to using `git describe` if it fails00:41
hachi HEAD can point to a commit specifically00:41
Eridius in the case of a detached HEAD, HEAD is just like any other ref - it's no longer symbolic00:41
hachi and I would bet that gc will not destroy it in taht case00:41
Eridius gc considers HEAD a root, specifically for the case of a detached HEAD00:41
hachi though I'm not staking money on it00:41
ok00:41
is there another ref command?00:41
Yuuhi left00:42
hachi ever since all the git commands got shuffled into a libexec dir or equivalent00:42
I haven't been able to do git-[tab][tab] to see what commands exist :)00:42
banisterfiend joined00:42
RobertMeta left00:42
hachi oh I see a few00:43
beatak left00:44
Eridius hachi: you shouldn't ever be typing git-[something] anyway, except when talking about the commands00:44
mw left00:44
Eridius use git [foo] instead, and install the git completion script in contrib/00:44
hachi I know00:44
I'm just saying that there's no fast way to get a list of git commands that I've seen00:44
makubi left00:44
Eridius ls $(git --exec-path)00:44
hachi ahh, shellness00:45
Eridius or with the completion, you can use `git [tab]`00:45
bitkiller left00:45
mdel joined00:46
tarikk joined00:46
jarrod_ left00:46
codespectator joined00:47
nakkor left00:48
MattDiPasquale joined00:50
RobertMeta joined00:51
mdel left00:51
airborn left00:52
mdel joined00:54
noktoborus_ left00:55
goshawk left00:58
foocraft left00:58
thiago__ left00:59
QinGW joined01:00
boombatower joined01:01
TeckniX left01:01
dreiss left01:02
bronson left01:03
_psychic_ joined01:03
halfline joined01:04
_psychic_ left01:04
drunkard joined01:04
Wyverald joined01:06
bronson joined01:07
kelvie_ left01:07
foocraft joined01:11
kelvie_ joined01:11
sako left01:13
tjholowaychuk left01:13
Titosemi hey guys, i just pushed and it made ff although i didnt wanted to , it´s possible to rewrite my history so it looks like before?01:13
aresnick left01:14
Jonathan__ joined01:14
Tuller_ joined01:16
hyperair left01:17
SimonP86 left01:17
bremner Titosemi: I don't understand your question, but I doubt it.01:18
brntbeer joined01:19
Tuller left01:19
Dreamer3 joined01:19
bremner Titosemi: what do you mean "it made ff"01:20
nd___ left01:21
Titosemi bremner: sorry, it was a wrong question01:21
i think it´s ok. it´s too late i guess..01:23
:)01:23
thanks bremner ;)01:23
bremner ok, glad to, err, not help ;)01:24
nd__ joined01:24
mdel left01:25
ignatp joined01:26
peterjmag Titosemi: Is the git repository you pushed to a shared repository (i.e. are other developers working on it)? If not, you could reset your local repository and force a push again.01:27
madduck joined01:28
Tianon joined01:28
Tianon left01:28
Tianon joined01:28
banisterfiend is there a good git cheat sheet for intermediate users?01:29
alvaro_o left01:30
kanru joined01:32
MattDiPasquale left01:34
steph021 left01:34
Titosemi left01:36
hyperair joined01:36
peterjmag left01:36
aah left01:40
Scala_ left01:42
pedrobelo joined01:42
smolyn left01:43
Dreamer3 left01:43
Evious left01:43
nakkor joined01:43
nakkor left01:45
an0maly How does one retrieve the source tree at a point in time? (not just a file, but a snapshot of the entire repository)01:46
frogonwheels an0maly: git checkout <commit>01:46
an0maly that requires knowing what the commit is... I've got a time, not a commit01:46
itamarjp joined01:47
wliao joined01:47
SethRobertson an0maly: See man git-rev-parse, specifically the @{yesterday} syntax01:47
jast an0maly: the 'git-rev-parse' manpage can be found at http://git.or.cz/man/git-rev-parse [automatic message]01:47
Eridius you could look at the reflog for each branch... but that's probably error-prone, and won't give you branches that were deleted since that time01:47
an0maly thanks.01:47
I'll look at the rev-parse. thanks01:48
frogonwheels an0maly: you can probably use git log --before=<date> -1 to find the commit01:48
banisterfiend left01:48
an0maly frogonwheels: thanks, I'll try that. working on a project and something broke before the holiday and I haven't a clue who broke what and when01:49
bremner an0maly: I suggests waterboarding01:49
an0maly (during the US holiday)01:49
bremner see? perfect,01:49
an0maly bremner: I concur01:49
Eridius you could use git bisect to find the bad commit01:49
frogonwheels an0maly: and then you can use bisect to narrow it down01:49
:)01:49
shwoodard left01:50
an0maly I was thinking of the bisect, but don't have a good known working commit (should've noted it before I took the break)...01:50
tbrock joined01:52
mdel joined01:53
vitor-br left01:54
tvw left01:54
banisterfiend joined01:57
itamarjp left01:58
itamarjp joined02:00
frogonwheels tpope: oh crap. the expand('%:p') trick does _not_ work in windows .. pooot.. that's the problem!02:02
banisterfiend frogonwheels: why doesnt it work in windows frog-friend02:03
frogonwheels banisterfiend: it doesn't make the directories the correct case in 7.3 but does in 7.202:04
gebi left02:04
RobertMeta left02:04
amerine left02:04
banisterfiend frogonwheels: bug?02:04
mDuff joined02:04
friskd left02:04
frogonwheels banisterfiend: well it breaks fugitive...02:04
gretch joined02:05
mDuff Where can I find docs specifying the supported means of specifying dates for blame --since? The man page has some examples, but no detailed pointer02:05
friskd joined02:06
gretch_ joined02:06
abetaha left02:06
Eridius mDuff: there's some examples in the man git-rev-parse documentation for the @{} format02:07
jast mDuff: the 'git-rev-parse' manpage can be found at http://git.or.cz/man/git-rev-parse [automatic message]02:07
gretch_ left02:07
Eridius just search for "yesterday"02:07
friskd left02:07
SethRobertson I might wildly guess that it uses the GNU date parser02:07
gusnan left02:07
Cocytuz joined02:08
banisterfiend if i go: git checkout -b mywork origin02:08
Eridius SethRobertson: does the GNU date parser support things like 2.days.ago?02:08
banisterfiend which branch on origin is it referring to?02:08
the master branch?02:08
Eridius banisterfiend: I wouldn't expect that to work at all02:09
SethRobertson Eridius: Yes02:09
aah joined02:09
gretch left02:09
banisterfiend Eridius: it's the first line here: http://book.git-scm.com/4_rebasing.html02:10
SethRobertson: so what would that do? git checkout -b mywork origin ?02:10
Eridius banisterfiend: that's awfully weird. It sounds like "origin" is the name of the remote-tracking branch02:10
banisterfiend Eridius: ah02:11
SethRobertson banisterfiend: I was talking about a different thread.02:11
Eridius banisterfiend: interestingly, in practice it works. I'm guessing that it tracks that remote's HEAD02:11
alberto joined02:11
banisterfiend Eridius: how non idiomatic of him02:11
Eridius: oh ok, so it'll be origin/master?02:11
Eridius usually, yes02:11
banisterfiend Eridius: well how could you change the remote's HEAD ?02:12
alberto56 left02:12
Eridius by ssh'ing into the remote and changing the HEAD symbolic-ref02:12
banisterfiend: the way that chapter is written it looks like "origin" is the name of the branch02:12
banisterfiend confusing02:12
Eridius the fact that the command will actually work is fairly incidental, and isn't what the chapter actually meant02:12
yeah, it should be rewritten methinks02:12
towski left02:13
banisterfiend Eridius: out of interest, how can i give a remote branch a local alias, so i could refer to origin/my_branch as eridius for example02:13
?02:13
mDuff hrm.02:13
Eridius well, generally you wouldn't02:13
banisterfiend but that's what he's done here with 'origin' right?02:14
im just curious hwo it might work02:14
mDuff is vaguely disappointed that not more than one -L argument can be given to "git blame"; would be useful for his application to specify multiple ranges (or even individual lines)02:14
Eridius well no, 'origin' in this case isn't an alias. It's just the name of the branch02:14
refs/remotes/origin02:14
it's awfully bizarre02:14
banisterfiend Eridius: well how would i set up a remote branch so that i can refer to it locally as eridius02:14
mDuff ...presuming "git blame" has the same performance attributes as "bzr blame", ie. expense based on the age of the least recent line being requested, being able to specify the ones I care about with precision would seem useful.02:15
Eridius the only case I can think of that would normally give you a non-hierarchical remote-tracking branch is git-svn, and the default name there is "svn"02:15
SpookyET left02:15
Eridius banisterfiend: I'm not really sure. I've never wanted to do that02:15
stringoO left02:16
Eridius it's possible you could use a symbolic ref, but I'd be afraid that things like git merge's log would use the short name instead of the real one02:16
banisterfiend ohok02:16
cpg joined02:20
stringoO joined02:20
cpg hello, i would like a little bit of hand holding doing a merge so that i do not skrew it up02:20
i have a master branch and i did some major work in a separate branch like a good boy02:21
now i need to merge that branch to the master02:21
i would like to tag the master or whatever, so that i know taht was the latest stable02:21
then do the merge in02:21
Dreamer3 joined02:21
cpg i know there will some conflicts in the merge02:22
leroux` joined02:22
cpg anyone? :D02:22
Eridius cpg: it sounds like you know what you're doing. What is it that you want from us?02:22
jmcantrell joined02:22
cpg how do i tag the master at this point in time (top of the tree)02:22
and i may need a bit of help with the resolution of the confilcts02:22
Eridius `git tag this-was-my-last-safe-copy`02:22
of course, that's probably not even necessary02:23
kenichi left02:23
Eridius if you need to abort the merge, `git reset --merge` will give you your old master back, and if the merge succeeds but you did it wrong, `git reset --hard HEAD^` will throw away that merge02:23
leroux left02:23
Vampire0_ left02:23
cpg k02:24
tagged02:24
then did the merge02:24
Automatic merge failed; fix conflicts and then commit the result.02:24
frogonwheels ah .. f* anybody got ideas on transforming this/is/my/filename.txt to This/Is/My/FileName.txt (where the latter one is what git knows about?) using git?02:24
cpg got 3 conflicts02:24
dbbnj joined02:24
banisterfiend left02:25
jmcantrell left02:25
Eridius cpg: what do you mean?02:26
mikepack left02:27
alberto left02:27
sako joined02:27
cpg hi Eridius.... i just solved the confilcts by editing the files ..02:27
Eridius m02:27
cpg i see "both modified" for the three files02:27
Eridius that's typically how conflicts are solved ;)02:27
there's also `git mergetool`02:27
cpg git add each ?02:27
hehe02:27
Eridius once you've resolved all conflicts, yes, `git add` to remove the conflict status02:27
cpg k done02:28
chrischambers left02:29
banisterfiend joined02:29
cpg git status shows a massive list of files under the heading Changes to be committed:02:29
git commit ?02:29
Eridius sure02:30
leroux` left02:30
aphelion joined02:30
aphelion left02:30
aphelion joined02:30
cpg in the cmmit message i have Conflicts: listed02:30
i guess i can delete that junk?02:30
SpookyET joined02:30
Eridius yes, git merge will prepopulate the message02:30
it's a good idea to keep it around02:30
SpookyET left02:30
cpg i see, just in case?02:30
Eridius it can be useful information if you need to recreate the merge later, or if you're curious why `git show $ID_OF_MERGE` shows changes02:31
babusri joined02:31
Eridius and it's also documentation that tells the viewer that, hey, it's possible the merge screwed up the conflict resolution ;)02:31
banisterfiend left02:31
pasky Hmm! If I issue git diff --check TREE1 TREE2, which .gitattributes setup does that use? that of TREE1, TREE2, HEAD, something else...?02:32
eletuchy joined02:33
gretch joined02:34
banisterfiend joined02:34
cpg Eridius: looks like it worked well. thanks!!02:34
Eridius awesome02:35
stliu joined02:35
rchavik joined02:37
phantomcircuit left02:37
Vampire0_ joined02:37
kylehayes_ joined02:38
alberto56 joined02:38
vdv left02:39
banisterfiend` joined02:41
kylehayes_ left02:41
Buglouse joined02:42
rchavik left02:42
alberto56 left02:42
banisterfiend left02:43
yngress joined02:45
thierryp joined02:49
kpreid left02:50
dquestions left02:51
Cacheaway joined02:51
kpreid joined02:52
phantomcircuit joined02:52
dquestions joined02:52
dreiss joined02:55
yngress left02:55
aah left02:56
banjiewen joined02:56
aah joined02:56
Blackguard left02:58
thierryp left02:59
dr_win joined03:00
avena joined03:00
mase_wk Hey guys, i have ( or thought i had) deleted some remote branches by doing a git push origin :foo03:01
however a git branch -r still displays origin/foo03:01
avena left03:01
NfNitLoop you have to "prune" the things that were deleted.03:02
mase_wk what else do i need to do in order to delete the branch ?03:02
NfNitLoop check git help pull.03:02
er. fetch.03:02
rchavik joined03:02
mase_wk thanks03:02
Plouj joined03:04
Plouj lol, how do I re-arrange commits in a single-branch repo since rebase -i doesn't work?03:04
Eridius why doesn't rebase -i work?03:04
mmattice and why lol at it?03:05
pedrobelo left03:05
Plouj ah, I just figured to rebase it on top of the first commit03:05
Eridius: because it needs a refset to rebase against...03:06
SianaGearz left03:06
Plouj s/refset/branch/03:06
Eridius ahh03:06
frogonwheels Plouj: git rebase -i {reference to one beyond the last commit you want to rearrange}03:06
mmattice just specify a commit03:06
Plouj I did03:06
Eridius yeah I've been meaning to look into making rebase -i support --root, but I doubt I'll ever get to it03:06
frogonwheels Plouj: ie git rebase -i HEAD~5 rebase the last 503:06
Plouj mmattice: it's funny because it's a very unusual situation03:07
mmattice I've done about 6 of them today. it works fine.03:07
Plouj frogonwheels: thanks03:07
a repo with a single branch?03:07
mmattice the commit sha's will obviously change each time you rebase03:07
alberto56 joined03:07
Plouj left03:08
abetaha joined03:08
boombatower left03:09
Risar joined03:11
jaeckel joined03:12
alberto56 left03:13
gnufied joined03:14
thierryp joined03:15
banjiewen left03:15
Dreamer3 left03:16
thierryp left03:16
envi joined03:17
Elfe left03:18
abetaha left03:18
abetaha joined03:19
abetaha left03:19
chikei left03:20
chikei joined03:20
rayners_afkrayners03:21
itamarjp left03:21
andyburke left03:22
frakturfreak left03:22
Tuller_ left03:23
steph021 joined03:23
steph021 left03:23
steph021 joined03:23
Pacman_Home left03:25
Pacman_Home joined03:26
envi left03:27
justin-george left03:27
MattDiPasquale joined03:27
Elfe joined03:30
frakturfreak joined03:34
Hutch[S] joined03:35
Hutch[S] hey, has anyone here used gitorious or codaset? which would they recommend? looking to host 1 free private repo03:35
hebz0rl joined03:35
tbrock left03:40
Dreamer3 joined03:40
schacon joined03:40
schacon left03:42
foocraft left03:43
foocraft joined03:46
hasrb joined03:46
sivy left03:49
Koteswara joined03:51
banisterfiend joined03:52
banisterfiend` left03:52
chessguy joined03:52
Cacheaway left03:54
kukks left03:55
Pacman_Home left03:55
Pacman_Home joined03:56
banjiewen joined03:58
cloudqq joined03:59
programble left03:59
Mage joined04:05
leroux joined04:09
Phrogz joined04:11
bronson left04:12
aresnick joined04:12
lightcap joined04:14
lightcap left04:14
zombor joined04:15
MmikeMRMA joined04:15
tarikk left04:15
mdpatrick OK, I think I get diff --cached, and git diff HEAD... but how do I see the diff between the working directory and the staged area????04:18
LRN left04:18
Mmike left04:19
noahcampbell joined04:19
RobertMeta joined04:19
RobertMeta left04:19
RobertMeta joined04:19
kadoban mdpatrick: isn't that what git diff --cached is?04:20
LRN joined04:21
zombor left04:21
brntbeer left04:22
kadoban oh sorry, no i misread04:22
MikhX left04:23
chessguy left04:23
Phrogz left04:23
kadoban mdpatrick: that would be just git diff.04:24
pedrobelo joined04:24
mdpatrick kabodan: Was pretty sure git diff showed changes between already commited content, and working directory... right?04:25
kadoban mdpatrick: no, i just tried it. it's basically what you could git add if you wanted to. aka what's not in your staging area04:26
rsewill left04:27
dquestions left04:27
mdpatrick kabodan: Hmm, ok I think you're right. thanks. is there a permutation of diff that compares working directory and last commit, skipping staging area???04:27
kadoban mdpatrick: git diff HEAD should be i think04:28
ya, looks like it04:28
dquestions joined04:28
pedrobelo left04:28
mdpatrick kabodan: Let's say you stage blah.htm, and you change the file again without commiting, and then you stage again... Does it just over-write your previously staged/cached copy???04:29
kadoban mdpatrick: yeah, the staged becomes the new one, there's not like multiple stages there or anything04:29
petercoulton left04:31
mdpatrick OK cool that makes sense.04:31
thanks, it helps to just bounce some random things off someone sometimes04:32
lot to learn04:32
NickyP left04:32
kadoban np. yeah, it's kind of tough at first. btw if you didn't notice, there's an "Examples" section pretty far down in 'git help diff' which shows the common cases i think, i remmeber referring to that more than the list of options04:33
lightcap joined04:33
rsewill joined04:34
banisterfiend if you dont have any tags, what does 'git describe' do?04:35
kadoban banisterfiend: "fatal: No names found, cannot describe anything."04:35
MattDiPasquale left04:35
banisterfiend kadoban: ah ok thanks04:35
xtagon left04:37
banisterfiend kadoban: hmm, 'git describe' says that im '3' commits past the tag04:38
kadoban: yet when i go git log --oneline -10, the SHA-1 of that tag doens't appear anywhere04:38
kadoban banisterfiend: sorry, i'm not actually all that clear on how git describe does it's bidness, i don't use tags much personally, since i don't release a lot04:40
banisterfiend man git-describe04:40
jast the 'git-describe' manpage can be found at http://git.or.cz/man/git-describe [automatic message]04:40
MikhX joined04:42
nigelb 3504:44
gah04:44
banisterfiend how do i04:44
find the message associated with a commit04:44
when i go: git rev-parse my_tag04:44
i get the commit04:44
but i cant find the damn commit message associated withit04:45
i even grep the log: git log |grep SHA-104:45
(SHA-1 is of the my_tag)04:45
Mannequin left04:45
Adaptee joined04:45
banisterfiend doens't come up anywhere04:45
wtf04:45
eletuchy left04:45
alex__c2022 joined04:46
kadoban banisterfiend: git show? i don't know how much it's output can be customized if you're trying to use it in a script or something though04:48
brntbeer joined04:48
banisterfiend ok04:49
this is confusing me04:49
say i have a tag called 'fast04:49
and i do this04:49
RobertMeta left04:49
banisterfiend git checkout -b fast_branch fast04:49
the the SHA-1 of 'git log -1' should be equal to the SHA-` of 'git rev-parse fast' right???04:50
xtagon joined04:50
kadoban never used rev-parse, sorry04:50
banisterfiend kadoban: it just grabs the SHA-1 of a commit04:51
nchaimov_ joined04:51
nchaimov_ left04:51
smolyn joined04:54
brntbeer left04:54
nchaimov_ joined04:55
nchaimov_nchaimov04:55
nchaimov left04:55
nchaimov joined04:55
Eridius left04:56
banisterfiend man git-rev-parse04:57
jast the 'git-rev-parse' manpage can be found at http://git.or.cz/man/git-rev-parse [automatic message]04:57
mdel left04:57
mdel joined04:57
hobodave left05:00
xiangfu joined05:01
Cacheaway joined05:01
Mannequin joined05:01
Cacheaway left05:02
Cacheaway joined05:02
shentino left05:04
shentino joined05:05
edude03 joined05:09
BiggFREE joined05:09
edude03 Hello everyone05:09
I want to clean my git tree and ignore certain files in future commits05:09
How do I go about doing that?05:09
wereHamster add them to .gitignore and delete them (git rm)05:09
towski joined05:10
banisterfiend left05:11
leroux left05:12
lightcap_ joined05:12
Cacheaway or edit .git/info/exclude05:12
rayners left05:12
shiba_yu_ joined05:13
shentino left05:13
shiba_yu36 left05:13
dunpeal joined05:14
banisterfiend joined05:14
lightcap left05:14
lightcap_lightcap05:14
banisterfiend wereHamster: git rev-parse my_tag, should return the SHA-1 of the commit associated with that tag right? :/05:14
dunpeal Hey. Why does the Linux kernel use multiple independant repos instead of one repo with submodules?05:14
edude03 hmm what does gitignore do anyway?05:15
Same thing as info/exclude?05:15
frogonwheels banisterfiend: hmm.. maybe not.05:15
napster_123 joined05:16
rayners joined05:16
Cacheaway edude. the .gitignore will travel with a clone (assuming you add it to the repo) whereas info/exclude only works on your local repo05:16
frogonwheels banisterfiend: ah - it's the commit of theTAG05:16
banisterfiend frogonwheels: it's confusing to me05:17
frogonwheels banisterfiend: I mean the SHA1 of the tag05:17
banisterfiend frogonwheels: really??05:17
frogonwheels banisterfiend: git cat-file -t <yourtag>05:17
banisterfiend frogonwheels: hmm, i didn't think tags had SHA-1s, i thought they were just like branch names05:17
frogonwheels should give you a 'tag' as a type.05:17
banisterfiend frogonwheels: how do i get the SHA-1 of the tag's associated commit then? :/05:18
frogonwheels banisterfiend: sure it does, it contains the comment yeah?05:18
schacon joined05:18
cloudqq left05:18
yang_ joined05:18
frogonwheels banisterfiend: and you want your tag names to be reliable .. they can be kinda important for naming a build :)05:18
banisterfiend frogonwheels: good point. Any idea how to get the SHA-1 of the commit associated with the tag then? :/05:19
frogonwheels banisterfiend: and it also would contain the commit SHA1 :)05:19
banisterfiend hehe i guess i was wrong to think of tags as just like branch names then05:19
Cromulent joined05:19
frogonwheels banisterfiend: pretty sure there's something in rev-parse for that05:19
edude03 Cacheaway: ah so I'm putting everything in .gitignore then05:19
Thanks :D05:19
schacon left05:20
frogonwheels banisterfiend: ahh ^005:21
banisterfiend: git cat-file -t <yourtag>^005:21
banisterfiend: should give you 'commit' as a result.05:21
so look at git rev-parse <yourtag>^005:21
banisterfiend: :) I've learnt somethhing today too05:22
noahcampbell left05:22
banisterfiend frogonwheels: hmm thanks, can you explain the meaning of the ^0 ?05:22
frogonwheels banisterfiend: look in man git-rev-parse05:23
jast banisterfiend: the 'git-rev-parse' manpage can be found at http://git.or.cz/man/git-rev-parse [automatic message]05:23
frogonwheels search for rev^005:23
banisterfiend oh ok05:23
thanks05:23
god git's syntax is totally untuitive hehe05:23
the functionality is amazing, but i really think someone needs to completely redesign the CLI05:23
alex__c2022 left05:24
frogonwheels banisterfiend: It's a process. Though this kinda stuff is all handled by rev-parse and so is consistent.05:24
banisterfiend: and you're free to make/use whatever wrapper you want round git :)05:25
wereHamster banisterfiend: no05:28
Cacheaway banisterfiend: it's only unintuitive until it starts molding your brain05:28
wereHamster git rev-parse <tag>^{commit}05:28
dunpeal left05:28
frogonwheels wereHamster: I hate ^ 'cause I have to double them in windoze cmd :)05:28
fr joined05:28
frogonwheels wereHamster: nah hate's a bit strong, but I do avoid when I can05:28
yang_ left05:28
dunpeal joined05:29
dunpeal The reason I'm asking about the Linux kernel is that there's a sense that large projects don't use them even in cases that seem like good usecases for them.05:30
"them" == submodules05:30
sebastorama joined05:30
dunpeal I'm trying to figure out whether to use them, and the fact that the main project by Git's developers doesn't use submodules even though they seem kind of natural is really telling.05:30
Also, other large projects, that have people that grok and like Git, don't use submodules: notably Android.05:31
frogonwheels dunpeal: well also consider that git submodules would have been invented after the main kernel tree was set up05:31
dunpeal: msysgit makes some use of them.05:31
cpgcpg|brb05:33
babusri left05:34
roop joined05:35
roop_ joined05:35
roop_ left05:35
roop left05:36
roop joined05:36
cytrinox left05:37
roop left05:37
cpg|brbcpg05:37
roop joined05:38
roop left05:38
cytrinox joined05:38
nullvariable left05:39
smik````` joined05:41
xtagon left05:41
banjiewen left05:42
banjiewen joined05:42
SethRobertson You might want to use gitslave instead of submodules. For some people it works better. gitslave is kinda like repo, except better documented and not designed for android05:43
banisterfiend frogonwheels: why dont you use mysys shell in windows rather than cmd.exe05:43
roop joined05:43
dburba joined05:43
roop left05:44
roop_ joined05:44
SethRobertson dunpeal: There are three major options: submodules, subtree, and scripting (eg. gitslave) each has their strength and weakness05:44
frogonwheels banisterfiend: because then I'd write all my tools in shellscript and my colleagues would be unable to use them :)05:44
smik```` left05:44
banjiewen left05:44
schacon joined05:45
frogonwheels banisterfiend: so I'm struck trying to write a robust CLi in windoze batch files .. though I don't think that's strictly possible :)05:45
dunpeal SethRobertson: I'm looking into this pretty seriously; is there a good URL for information about this?05:46
frogonwheels banisterfiend: I can, however, make a close approximation05:46
dunpeal: it really depends on your situation.05:46
banisterfiend frogonwheels: i stopped using ^ and used ~1 instead in cmd.ese05:46
exe05:46
frogonwheels banisterfiend: yep - I do that.05:47
SethRobertson gitslave (http://gitslave.sf.net) is useful when you control and develop on the subprojects at more of less the same time as the superproject, and furthermore when you typically want to tag, branch, push, pull, etc all repositories at the same time.05:47
git-submodule is better when you do not control the subprojects or wish to fix the subproject at a specific revision even as the subproject changes05:47
git-subtree is better when you prefer to have a single-repository "unified" git history and only need to pull changes in from external sources--not contribute your own changes back05:47
see also https://git.wiki.kernel.org/index.php/SubprojectSupport05:47
frogonwheels contributing changes back in submodules is not that bad really.05:47
dunpeal: it's certainly better in 1.7 +05:48
rayners left05:48
SethRobertson If that was a reply to me, subtree is where contributing back gets annoying, not submodules05:48
frogonwheels SethRobertson: ooh.. ahh yes sorry - that makes sense.05:48
dunpeal SethRobertson: thanks.05:48
frogonwheels: cool, we all use 1.7.x here.05:49
schacon left05:49
dunpeal we recently migrated from SVN to Git, so now we're exploring how to split a huge previously-SVN codebase.05:49
with SVN most people "managed" it by checking out the parts they were interested in.05:50
SethRobertson If it is all your stuff and you want to branch everything at the same time and tag at the same time (e.g. for releases, etc) then you want gitslave05:50
dunpeal Since in SVN partial checkouts are very natrual.05:50
SethRobertson Called sparse checkouts in git05:50
slonopotamus joined05:51
frogonwheels and quite honestly, not so natural :)05:51
SethRobertson which is different from sparse clones, which are impossible05:51
envi joined05:51
sebastorama left05:51
dunpeal SethRobertson: our specific requirements are that each directory wants to behave as a library with dependencies on specific versions of other directories.05:51
kanzure SethRobertson: thanks for your help earlier today. i haven't fixed things yet but i'm well on my way05:52
dunpeal SethRobertson: i.e. we currently have ./proj1, ./proj2, [...], ./projn05:52
kanzure or i'd like to think i am05:52
SethRobertson But previously you would have branched everything at the same time, no? One commit would affect the version everyone else sees. That is the gitslave model05:52
WolfSpider joined05:53
dunpeal yes, but we don't want that anymore. We want each proj* to have its own refs (both branches and tags)05:53
SethRobertson kanzure: Good luck. Working around the deficienies of other version control systems is always fun. not05:53
dunpeal, then you want submodules05:53
dunpeal ideally, proj1 should be able to depend (i.e. link to) a specific ref (branch or tag or commit-ID) of proj2.05:53
do submodules allow that?05:54
SethRobertson exactly how submodules work05:54
dunpeal SethRobertson: cool, so why did Android choose not to use them? ;)05:54
frogonwheels dunpeal: it's always a commit though05:54
dunpeal frogonwheels: you just contradicted SethRobertson?05:54
frogonwheels dunpeal: you can't tie a submodule to a branch / tag it's always a commit05:54
dunpeal OK, who among you is right? can I or can't I link to a symbolic reference (tag / branch)?05:55
sebastorama joined05:56
SethRobertson for android, you want the repo/gitslave semantics. There is the 1.0 branch and when you compile you want to compile the latest version of everything on that branch05:56
frogonwheels dunpeal: submodules link to a commit sha1.05:56
SethRobertson And what I said does not disagree with that. He is absolutely correct05:57
nohk joined05:57
dunpeal OK. so there's an advantage of writing your own higher-level gitslave / repo-like tool.05:57
SethRobertson If you want to link to a branch, you cannot use submodules05:57
many advantages, and many disadvantages05:57
FYLGood left05:57
dunpeal what are the disadvantages?05:58
frogonwheels submodules are quite good at what they do. but they are quite a narrow usage.05:58
dunpeal: you have to remember to git submodule update whenever you git checkout in the parent05:58
dunpeal I guess one advantage of never linking to a symbolic reference is that those can change.05:58
smolyn left05:58
dunpeal frogonwheels: that's another disadvtange of submodules, I asked for disadvantages of not using them :) (i.e. using something like gitslave instead)05:59
_pingu joined05:59
SethRobertson The submodule case is where you have a remote upstream primarily developed by other which changes but you want to fix which version you link to so that it doesn't change underneath you05:59
dunpeal yeah, that's not exactly the case here.06:00
slonopotamus left06:00
frogonwheels dunpeal: submodules are part of git. when you do a git status of the top level project, you get a summary of the status of the submodules.06:00
slonopotamus joined06:01
SethRobertson gitslave doesn't support 100% of the git commands, but this isn't very different from submodules. You don't have a unified git history (also true of submodules). It requires main devs working on everything to download separate software (not true of submodules).06:01
frogonwheels dunpeal: when you checkout (and git submodule udpate). a version, then you are also getting exactly the same code used to build that version last time.06:01
dunpeal I see that submodules are about pushing the focus of control to the dependent, whereas something that allows linking against a symbolic reference potentially leaves a lot of control at the hands of the dependency.06:01
frogonwheels dunpeal: if you want to update your submodules to the latest, then you make a branch at that point, and make a commit with updated submodules.06:01
dunpeal SethRobertson: the third argument is the main one, it seems.06:02
I don't want unified history (these are separate projects), and I don't need "100% of git commands".06:03
SethRobertson But if someone is just playing with one repo, they don't have to use gitslave. In fact, you don't ever have to use gitslave if you don't want to. gitslave is just recursion over your set of repos.06:03
freimatz joined06:03
dunpeal which is what it should be :)06:03
anyways, I think we should elucidate our needs06:04
SethRobertson The man page, website, and TODO in the gitslave repo talks about specific drawbacks06:04
dunpeal submodules are an easy sell if we need *exactly* the set of features they provide.06:04
however, if we need just one feature that they don't (e.g. that ability to link against symbolic reference), submodules are all of a sudden a no-go.06:05
SethRobertson gitslave also is pretty trivial to play with if you already have repos. Only one file in one repo needs to change. submodules are only slightly more annoying to play with. In fact you can in theory use them both in the subproject06:05
sorry, in the superproject, during testing. Well, you could do it all of the time, but that would be a bit...insane06:06
dunpeal yeah, yo dawg and all that06:06
banisterfiend frogonwheels: wanna know something weird06:08
frogonwheels banisterfiend: sure..06:08
banisterfiend frogonwheels: light-weight tags behave differently to annotated tags, so git rev-parse my_lightweight_tag *does* return the commit associated with the tag06:08
it works just like a branch name06:08
but git rev-parse heavy_tag returns the commit of the tag itself06:09
wereHamster 'comit of the tag'?06:09
frogonwheels banisterfiend: ah. and they aren't as secure. I think they're just files with commit id in them..06:09
wereHamster that does not make sense06:09
frogonwheels wereHamster: SHA1 of the tag06:09
dunpeal maybe he tagged a head instead of a specific commit?06:10
frogonwheels nah, it makes sense, I think light-weight tags don't generate an object in the db - just a file in refs/tags/06:10
which would be why git describe ignores them.06:11
ilteris___ilteris__06:11
dunpeal frogonwheels: yeah, but actually, even if you `git tag foo somehead`, rev-parse would show foo as the hash pointed at by somehead.06:11
not as somehead06:11
so I'm not sure how you can create a lightweight tag that is rev-parsed as a head.06:12
frogonwheels no.. but I don't think he did.. so I'm not sure what you're getting at?06:12
MikhX left06:13
ignatp left06:13
Remixman joined06:14
dunpeal ah, k, too tired, sorry :)06:15
yeah, what he said makes sense.06:15
should probably go to sleep, later folks.06:15
dunpeal left06:15
hyperair left06:15
joel_falcou left06:16
hyperair joined06:17
srid joined06:17
WolfSpider left06:18
srid left06:21
srid joined06:22
_pingu left06:24
krosenvold_ joined06:25
MikhX joined06:25
madewokherd left06:27
linusoleander joined06:28
Cromulent left06:28
dgtlmoon joined06:28
dgtlmoon left06:28
hasrb left06:29
linusoleander left06:29
schacon joined06:29
schacon left06:30
KB1JWQ left06:31
Vortex34 joined06:34
a-atwood joined06:34
Xeross|AFKXeross06:34
KB1JWQ joined06:35
justin-george joined06:35
slonopotamus left06:36
Cromulent joined06:41
giallu left06:41
j0ran joined06:42
banisterfiend anyone kno any good cheat-sheets for intermediate users?06:43
Eridius joined06:44
mase_wk banisterfiend: have you seen zack rusins cheat sheet ?06:45
banisterfiend no06:49
link?06:49
srid left06:49
srid joined06:49
banisterfiend nm i can google it06:49
mase_wk yeh it's googleable06:49
banisterfiend how come: git checkout -- a, doesn't checkout my 'a' file, but git checkout HEAD a, does?06:49
schacon joined06:50
Hutch[S]Hutch[S]|away06:51
Jonathan__ left06:51
jfkw left06:52
schacon left06:52
srid left06:53
srid joined06:54
srid left06:54
srid joined06:54
stringoO left06:56
mmc joined07:01
Cromulent left07:02
aah left07:03
Xeross left07:04
Xeross joined07:06
urkud_ joined07:09
opalka joined07:10
doener joined07:10
cbreak_work joined07:16
Zhonghua joined07:17
OOPMan joined07:17
werdan7 joined07:18
amerine joined07:19
saschpe joined07:20
phantomcircuit left07:23
robotarmy_ left07:23
phantomcircuit joined07:23
Vortex34 left07:24
gnufied left07:24
Vortex34 joined07:24
dquestions left07:25
dquestions joined07:25
evant_ joined07:25
evant_ Hi all, say I'm working on a remote branch and I want to create a local branch of that to work on, do I just do something like: git checkout remote-branch, git branch MyCopy ?07:26
urkud_ left07:26
mastro joined07:27
marc_kdab left07:28
crab evant: git checkout -b mycopy remotename/branchname07:29
thiago_home joined07:30
gnufied joined07:31
iaj joined07:31
albel727_2 left07:32
doener left07:34
codespectator left07:38
psankar joined07:40
banisterfiend left07:40
banisterfiend joined07:41
giallu joined07:41
stevepsharpe left07:42
ph^ joined07:43
banisterfiend left07:44
eMBee joined07:44
guardian joined07:46
albel727 joined07:47
kanru left07:47
stevepsharpe joined07:47
Yuffster left07:48
sivy joined07:50
pratz joined07:51
banisterfiend joined07:51
p3rg2z joined07:51
Anti-X left07:52
n00b_ joined07:54
evant_ crab: Thanks07:54
n00b_ i am very new to git or any verson control sys07:55
so can any one suggest me ho to go ahead07:55
evant_ crab: Do I have to track that locally first?07:55
n00b_: As in, why would you want to use version control? Or...?07:55
noktoborus_ joined07:56
dc5ala joined07:56
n00b_ i recently came to know it is very useful if i am sharing my code with other people07:56
phantomcircuit left07:57
digitalfiz joined07:57
crab evant: if you want to track it, you can git checkout -t remotename/branchname, it'll create a local tracking branch named branchname (override by adding -b othername)07:57
Anti-X joined07:58
srid left07:58
banisterfiend left07:58
aphelion left07:58
teweWork joined07:58
MikhX left07:58
RobertMeta joined07:59
RobertMeta left07:59
RobertMeta joined07:59
evant_ Do I need to track it? Basically, what would you do? ;)07:59
frogonwheels evant_: tracked is good07:59
nineteeneightd left08:00
frogonwheels evant_: just git checkout branchname is actually enough (if only remotename/branchname exists, it will create branchname for y ou tracked to remotename/branchname)08:00
evant_ Ah, nifty08:00
And then I can just locally branch that08:00
towski left08:01
frogonwheels evant_: well for small stuff, you generally just work in there, commit changes, and push them up08:01
evant_ Yeah I'll be making lots of changes08:01
Involving submodules and a whole bunch of other complications!08:01
mishok13 joined08:01
towski joined08:01
j0ran left08:01
frogonwheels evant_: but for a feature - you can branch off that and then either rebase your changes on top of the tracking branch or do a merge.08:01
Anti-X left08:02
thiago_home has found that he develops everything on the same branch08:02
thiago_home more than half of the stuff I do I want to run myself, so I keep it all in the same branch08:03
speakman joined08:03
frogonwheels uses both models depending on what he's doing.08:03
thiago_home I just don't push them08:03
justin-george left08:03
evant_ Cool, thanks for the input08:03
n00b_ left08:03
guardian left08:04
ph^ left08:04
speakman When two poeple works on the same project, using the most simple workflow (pulling from each other) - won't the two repositories soon have different histories?08:04
p3rg2z left08:05
frogonwheels speakman: not largely, no.08:05
thiago_home that's when you have to pull08:05
frogonwheels speakman: when you pull their changes, and merge them into yours, you get all their commit history as well08:06
towski left08:06
speakman frogonwheels: what happen when they pull from me then?08:07
thiago_home same thing08:07
speakman unless there's a conflict, will it always fast-forward?08:07
frogonwheels speakman: er.. the same?? they get your changes into a remote branch speakerman/master or whatever, then they'll merge those changes (git merge speakerman/master)08:07
goshawk joined08:07
thiago_home no08:07
frogonwheels speakman: and then they'll have your commits and a branch and merge loop.08:07
thiago_home fast forward indicates that they didn't have any commits you don't have08:08
think of a Y-shaped history (diverge)08:08
if that happens, then pull does a normal merge08:08
KU0N left08:08
speakman will I ever need to do anything but "git pull"?08:08
frogonwheels speakman: it's a little easier to maintain if you push to a common (bare) repository08:09
thiago_home probably, but git pull is the start08:09
frogonwheels speakman: since you won't know when they have pulled, and you don't want to be re-writing history that they've pulled.08:09
thiago_home if you have a central server storing everything, then you also need git push08:09
hebz0rl left08:09
frogonwheels speakman: so I suggest a central server as your common reference. it's possible the other way too though.08:09
phantomcircuit_ joined08:10
frogonwheels speakman: especially if you only pull when you're requested to.08:10
spuz joined08:10
mtkd joined08:10
speakman can we share a single central repo or do all user have to have their own repo?08:10
thiago_home both08:10
frogonwheels speakman: in git, all users have their own repo.08:10
thiago_home you can share a single, central repo08:10
but each person needs to have their own repo, on their own machines08:11
speakman yes but we can all push to a single shared repo?08:11
mtkd_ joined08:11
frogonwheels speakman: exactly.08:11
digitalfiz left08:11
speakman At my company, we're two programmers sometimes working very closely on a single project.08:12
frogonwheels speakman: it's possible to do the pull & pull thing - but you would need to think about how you did things.08:12
KU0N joined08:12
frogonwheels speakman: there's probably even a howto on just such a model. :)08:12
noktoborus_ left08:12
speakman Earlier we've used Bzr which, IMO, is a great central/distributed hybrid08:12
tlvb left08:13
speakman You can say we try not to have one single "maintainer" for the project.08:14
mtkd left08:14
speakman Or any project. The linux kernel workflow doesn't really fit. :)08:16
spuz left08:16
frogonwheels speakman: using the central server (look at gitolite) will probably be a nice fit then.08:18
speakman: it serves as a point of serialisation of commits -08:18
digitalfiz joined08:18
dreiss left08:21
aah joined08:22
Textmode left08:22
speakman frogonwheels: sounds great! will look at gitolite08:22
j0ran joined08:24
urkud_ joined08:26
pantsman joined08:26
psoo joined08:26
Xeross left08:28
eletuchy joined08:29
Rickardo1 left08:31
darkredandyellow joined08:31
ph^ joined08:32
darkredandyellow left08:33
codespectator joined08:33
noktoborus_ joined08:33
aah left08:34
ph^ left08:35
mabrand joined08:35
ph^ joined08:35
tvw joined08:36
ph^ left08:38
Eridius left08:39
dquestions left08:39
dquestions joined08:39
engla joined08:41
engla left08:41
engla joined08:41
thiago_home left08:41
ph^ joined08:45
guardian joined08:46
cilly joined08:46
smik````` left08:47
banisterfiend joined08:50
guardian morning08:51
theoros left08:51
amerine left08:52
carutsu_ left08:52
pantsman left08:54
smik joined08:57
galderz joined08:58
Rickardo1 joined08:58
nevyn^_ joined09:04
lanthan_afh joined09:05
marc_kdab joined09:05
rraasch joined09:06
nevyn^_ left09:07
airborn joined09:07
msieradzki joined09:07
ayanes joined09:08
ExtraSpice joined09:08
Znow joined09:10
jelmer left09:10
nevyn^_ joined09:11
Remixman left09:11
Schmallon joined09:11
napster_123 left09:15
hyperair left09:15
psankar left09:15
dean[w] joined09:16
dean[w] I have a problem regarding permissions with one of my colleagues. He checked out a remote branch of mine, made a change and tried to push it back using "git push" but he received the following error: fatal: Unable to create '/home/dean/workspace/devel/.git/refs/heads/master.lock': Permission denied09:16
Any suggestions? I'm a bit unsure as to why there is a reference to master in there anyway... he didn't check out master branch09:17
jelmer joined09:17
banisterfiend dean[w]: http://www.youtube.com/watch?v=fbGkxcY7YFU&feature=BF&list=PLB6F4D5B8E1B77746&index=909:19
jelmer left09:19
banisterfiend left09:19
dean[w] wtf?09:19
simosx joined09:20
simosx left09:20
simosx joined09:20
hyperair joined09:20
simosx left09:21
saschpe left09:22
jelmer joined09:23
j0ran left09:23
thiana joined09:24
thiana left09:24
Schmallon1 joined09:25
Znow Anyone working with "GitExtensions"? im trying to pull my repo..but it says that is same unresolved merge conflict: "fatal: bad config value for 'core.hidedotfiles' in .git/config "09:25
thiana joined09:25
Schmallon left09:26
msieradzki left09:27
Znow now ive set it to "false", and it works now... but it is just loading when im trying to pull, not getting any further09:27
freimatz left09:27
banisterfiend joined09:27
freimatz joined09:27
tatsuya joined09:28
stevepsharpe left09:28
Guest78583 joined09:29
roop__ joined09:30
MikhX joined09:30
roop__ left09:30
_ollie joined09:30
roop_ left09:31
banisterfiend left09:31
galderz left09:33
galderz joined09:34
msieradzki joined09:34
mase_wk left09:34
_ikke_ B 1209:35
Slush- you sunk my battleship09:36
PeaMan joined09:36
priidu joined09:36
mase_wk joined09:36
Guest78583 left09:36
_ikke_ Slush-: Cool09:37
g0bl1n joined09:37
j0ran joined09:39
Slush- :)09:40
Znow How can I find out where my repo on my computer belongs to what user? Cause... I have a repo called "depot", and cant find out where it belongs, it apparently not connected to my default github user09:40
_ollie1 joined09:40
_ollie left09:40
banisterfiend joined09:43
dr_win left09:43
psankar joined09:44
dean[w] My colleague has checked out a version of my remote branch. He wants to push back the changes he made in *his* copy of the branch, to my copy09:46
How can we do this?09:46
tango_ dean[w]: you pull from him09:46
add him as a remote and then pull from him09:46
dean[w] he's added as remote, can't he push it back to me?09:47
patrikf Znow: git remote -v?09:47
tango_ dean[w]: if you added him as a remote, you can pull from him09:47
banisterfiend left09:47
dean[w] he's my origin tango_09:47
tango_ which is better because you should be the only one messing up with your repository ;-)09:47
dean[w]: then pull from him09:47
bosyak joined09:47
tatsuya_ joined09:47
tango_ assuming he commited his changes, of course09:48
bosyak hi all. I need create own GIt repo for internal projects. Is there any HOWTO or something?09:48
dean[w] git checkout -b dean-hotfix2 dean/hotfix209:48
patrikf bosyak: lots. did you see the link in the topic?09:48
evant_ Is there any way to simulate a push? IE. I just want to see what would be pushed09:48
dean[w] He checked it out like so tango, so how do i pull exactly in this case09:49
patrikf evant_: git log?09:49
tatsuya left09:49
tango_ dean[w]: did he comit his changes?09:49
dean[w] to the dean-hotfix2 branch yes09:49
tatsuya joined09:49
tango_ dean[w]: then do a git fetch (this will update your local copy of his repostiry) and you can merge his dean-hotfix2 branch into your hotfix2 branch09:50
psankar left09:50
steph021 left09:50
tango_ assuming you have hotfix2 checked out, it's git fetch ; git merge origin/dean-hotfix209:50
dean[w] ah yes :)09:51
phantomcircuit_ left09:51
tatsuya_ left09:52
HG` joined09:52
banisterfiend joined09:53
thiana left09:55
thrillERboy joined09:56
Znow patrikf - when I do that cmd, it shows only a blank line09:56
patrikf - but I can add and commit changes...09:57
patrikf Znow: yes, git is a decentralized version tracking system09:57
Znow O_o09:57
well... how can I know where and what my repo is connected to what user on github?09:58
patrikf Znow: that's not within the scope of git09:58
Znow huh? :D09:58
well.. I just want to pull my "depot" repo to my workstation @ my work09:58
patrikf Znow: your repo can have zero or more "remotes", references to remote repositories09:59
Znow okay09:59
thiana joined09:59
patrikf Znow: when you clone, you get one called "origin", which is where you cloned from09:59
Znow: but cloning is not the only way to create git repos09:59
rolando joined09:59
patrikf Znow: so if yours has 0 remotes (as git remote is empty), there might not be a remote repo at all10:00
Znow: but git can't tell you how you created that repo in the first place, for all we know, it might have been "git init", but also something else such as "cp"10:00
Znow oh yeah, well I did just git init10:01
and how does this clone work?10:02
rolando left10:02
thrillERboy left10:02
rolando joined10:03
Znow patrikf :)10:03
justin-george joined10:03
goshawk left10:04
patrikf Znow: please refer to the docs10:05
Znow ...10:06
bluenovember joined10:08
QinGW left10:09
curtana joined10:12
shiba_yu_ left10:14
chrischambers joined10:17
ereslibre joined10:22
ereslibre left10:22
ereslibre joined10:22
Vardan joined10:23
Vardan hi all10:23
Znow left10:24
Vardan people I have done clone of some repo after that created new branch and in new branch modified some files, but not committed. Then I have switched mater branch and saw that my modifications are there, but as I understand they shouldn't be there, be cause I have done my modifications in other branch. What I do wrong?10:25
teuf uncommitted changes stay in your working copy when you switch branch10:25
if you commit the changes, then the commit will stay in that branch and won't "follow" when you switch branches10:26
Vardan so I need to commit them in new branch and after that move to master?10:26
teuf if you don't want in master, yep10:26
Vardan the same true for file deletion?10:26
Schmallon1 left10:26
teuf I think so10:27
sebastorama left10:27
Leemp joined10:28
q0rban|afk left10:34
urkud_ left10:35
ereslibre left10:37
_pingu joined10:39
Pupeno joined10:39
cbreak_work Vardan: commits are in a branch10:40
local changes are NOT in a branch10:40
artefon joined10:40
cbreak_work they are in the working directory or the index10:40
until you commit them, they stay unbound to a branch10:41
all local changes10:41
Vardan ok, thanks :)10:41
stliu left10:42
ft left10:43
Vardan how to revert changes10:43
?10:43
ft joined10:44
dc5ala left10:44
tatsuya left10:45
rchavik left10:45
Vardan ok, I found that :)10:46
urkud_ joined10:46
lightcap left10:46
wliao left10:46
tatsuya joined10:47
_ollie joined10:49
_ollie1 left10:49
cbreak_work many ways, depending on what changes you are speaking of10:50
git checkout, reset, revert, ...10:50
drunkard left10:52
_ollie left10:52
bosyak left10:53
mtx_init left10:59
_pingu left11:01
Rai joined11:02
msieradzki left11:03
Vardan left11:05
Rai_ left11:05
Vardan joined11:05
khiroc joined11:07
Ryback_ joined11:07
chrisred joined11:10
Buglouse left11:10
banisterfiend left11:11
banisterfiend joined11:11
PCJockey joined11:11
tizbac joined11:11
ereslibre joined11:15
zorzar_ joined11:15
banisterfiend left11:16
berkes joined11:16
fs-sylr joined11:17
zorzar left11:18
thrillERboy joined11:21
napster_123 joined11:22
parasti joined11:24
banisterfiend joined11:24
frakturfreak left11:24
frakturfreak joined11:24
Anti-X joined11:25
banisterfiend for all intents and purposes branch --contains is the same as branch --merged right?11:26
thiago no, it's the exact opposite11:27
--contains: the branches whose tip commits are descendants of the named commit11:27
--merged: the branches whose tip commits are reachable from the named commit11:27
if A contains B, then B is merged into A11:27
thiana left11:28
Schmallon joined11:29
_ollie1 joined11:29
zombor joined11:29
_ollie1 left11:29
_ollie joined11:30
Schmallon left11:30
_ollie left11:30
banisterfiend thiago: the docs say --merged <treeish> returns "what branches have that treeish merged in", which is the same as saying what branches are descendeants of that treeish, right?11:31
thiago yes11:31
banisterfiend which is the same as what you wrote here: --contains: the branches whose tip commits are descendants of the named commit11:31
urkud_ left11:31
thiago rereads the doc11:31
banisterfiend so they are the same?11:32
zombor left11:32
thiago no11:32
--merged [<commit>]11:32
Only list branches whose tips are reachable from the specified commit (HEAD if not specified).11:32
banisterfiend ah11:32
smik left11:32
banisterfiend so what i pasted was incorrect?11:33
thiago reachable != descendant11:33
banisterfiend hmm11:33
thiago it's the opposite11:33
banisterfiend what does reachable mean?11:33
bitkiller joined11:33
thiago given a commit history: A→B→C→D11:33
one direction is reachable, the other is descandant11:34
Schmallon joined11:34
thiago Git id a Directed Acyclic Graph. The direction matters.11:34
if that drawing is a graph, then A is the youngest commit11:34
A is a descendant of B. B is reachable from A.11:34
banisterfiend ah11:35
thiago B = A~11:35
uh11:36
banisterfiend thanks11:36
thiago no, never mind11:36
kanru joined11:36
thiago thought he had inverted twice11:36
banisterfiend i think i'm either reading broken docs11:36
justin-george left11:36
banisterfiend or my mind is a bit broken at this late hour11:36
thiago: are these descriptions of --contains and --merged accurate? http://gitready.com/intermediate/2009/04/03/find-ancestor-commits.html11:36
etag joined11:37
thiago has just run the test on his Git tree:11:38
thiago git branch --merged 4.6: 4.5 and 4.611:38
hebz0rl joined11:38
thiago git branch --contains 4.6: 4.6, 4.7, master11:38
bartj joined11:38
xiangfu left11:38
bartj I have two branches: 1. master 2. branch-2 which has lots of code/features11:39
but, now it seems that most of the code in branch-2 needs to be re-written11:39
etag gitweb can be set as password protected?11:40
thiago etag: configure Apache properly11:40
Yuuhi joined11:40
bartj so, if I create a new branch (branch-3) should it track master or branch-2 ?11:40
thiago banisterfiend: your choice11:40
etag thiago it can be access by windows git client as well via url?11:41
thiago etag: gitweb is for a web browser, not for the Git client11:41
etag so what is best way for windows client to give url access not ssh?11:42
thiago can you rephrase?11:42
etag I want to give access to my windows client over the internet11:42
whats the best way11:42
thiago so you want to use your windows client to access a server11:43
etag yes11:43
thiago why can't the server run ssh?11:43
etag It can be easily but is there any easy way for clients as internface?11:43
bartj anyone?11:44
thiago you're looking for Windows GUI clients for Git?11:44
erm11:44
bartj: sorry, I got the wrong nick11:44
bluenovember bartj, as thiago said, it's your choice11:44
thiago bartj: that answer was to you: "your choice"11:44
bartj: we don't know how you intend to work in branch-311:44
etag thiago: looking to setup git server like that so win gui client can access it11:44
thiago "upstream" generally means that you are merging from that. You said that you're going to rewrite, so it sounds like it's not upstream.11:45
but it's really your workflow.11:45
etag: Linux server with sshd is the easiest.11:45
bluenovember bartj if your code in branch 2 needs to be rewritten following code changes in master, you should consider rebasing it rather than starting again on a new branch.11:45
giallu left11:46
etag thiago: ok i was trying to search some thing easier for non tech people11:46
thiago etag: if you want to run a server, Linux is recommended11:46
etag: why do non-tech people want to run a server?11:46
etag thiago: server is on linux but when client want to push and clone i was trying to find gui for that11:47
thiago etag: you can use any GUI11:47
etag: it doesn't depend on the server.11:47
Kaapa joined11:47
Kaapa hello there - anyone here uses gitosis?11:48
etag thiago: so if my server is myname.com how can i setup that ? i m confused in that11:48
Kaapa I'm following the setup instructions but I'm hitting a 'fatal: 'gitosis-admin.git' does not appear to be a git repository' when trying to clone from local machine11:48
thiago etag: I'm confused too11:49
cognominal joined11:49
etag :)11:49
thiago etag: stop talking about Windows and client if your problem is setting up the server11:49
bartj bluenovember, with the rebase, I would collapse all my branch-2 commits to a single commit ?11:49
thiago stop talking about server if you just want to make it easy for non-tech people to use Git on Windows11:49
which one is it?11:49
etag thiago: ok so how can i setup url based git server which can be accessed via public ip11:50
thiago etag: Linux + ssh11:50
etag: I recommend gitolite for managing the repositories11:50
Kaapa ah, it worked!11:50
bluenovember bartj, that doesn't sound sensible. Commits should be as small as possible whilst still making sense.11:50
etag thiago: thanks11:50
thiago bartj: that's not what rebase does11:50
bartj: rebase simply changes the base. Squashing something else.11:51
git rebase --interactive can squash, but only if you tell it to11:51
thiana joined11:51
itamarjp joined11:52
jcdny left11:53
stamina_ joined11:53
bluenovember bartj, by "the code in branch-2 needs to be re-written" I assumed this meant that it conflicted with upstream changes. Rebasing will allow you to resolve these conflicts commit by commit.11:55
jcdny joined11:56
gretch left11:56
thiana left11:56
shruggar joined11:57
banisterfiend thiago: A -> B -> C what will `git branch --merged B` return? and what will `git branch --contains B` return? (sorry, im still confused)11:57
fr0sty-away left11:59
fr0sty-away joined12:00
marcob joined12:02
vitor-br joined12:02
Mage left12:03
Guest67408 joined12:03
unreal left12:04
shiba_yu36 joined12:04
banisterfiend thiago: yes, this is incorrect, right? "git branch --merged will tell you what branches have that treeish merged in"12:05
it's actually telling me which branches are merged into that treeish12:06
right?12:07
bluenovember sounds right to me12:07
banisterfiend which sounds right? i posted 2 things12:08
bluenovember sorry, your version :P12:08
banisterfiend hehe12:08
thx12:08
bluenovember branches which have been merged into your current branch12:08
your ancestors12:08
cbreak_work "With --merged, only branches merged into the named commit (i.e. the branches whose tip commits are reachable from the named commit) will be listed."12:08
banisterfiend yes12:08
thanks12:08
i just spent 20 mins understanding this http://gitready.com/intermediate/2009/04/03/find-ancestor-commits.html12:08
Aaaarg left12:08
banisterfiend which has it all ass-backwards12:08
cbreak_work that's from the man page, so probably correct12:08
banisterfiend confused the hell out of me12:09
bluenovember =(12:09
isaqual_ joined12:10
unreal joined12:11
Aaaarg joined12:11
isaqual_ is it possible that git removes untracked files at same when pull ?12:11
banisterfiend just 1 thing12:11
i guess it doesnt make sense to push light weight tags?12:12
parasti isaqual_: no12:12
cbreak_work banisterfiend: sometimes12:12
parasti isaqual_: Git will warn you if this could happen12:12
auscompgeek joined12:12
cbreak_work warn? It'll completely halt if that could potentially happen12:13
isaqual_ parasti: weird..12:13
linusoleander joined12:13
thiana joined12:13
isaqual_ i think some files are totally lost :(12:13
banisterfiend cbreak: i mean it's impossible to push lightweight tags, only annotated tags can be pushed right?12:13
parasti does "warn" imply "keep going"? I didn't know that12:13
cbreak_work banisterfiend: no12:14
you can push all kinds of tags12:14
banisterfiend cbreak_work: hmm, ok ill try12:14
cbreak_work just use --tags12:14
d0k joined12:15
banisterfiend cbreak: do i delete tags the same way i delete branches? git push origin :my_tag12:15
yep :)12:16
Kaapa left12:18
linusoleander left12:18
kpreid left12:18
banisterfiend cbreak_work: how do i see what tags are stored on the remote?12:20
spuz joined12:20
Finkregh joined12:22
spuz Hello, I'd like to get a line count history for a particular file in my repository, which git commands would be able to help me out?12:22
bluenovember banisterfiend, "git remote update" will grab all commits/tags/branches from your remotes. You can then view tags with "git tag"12:23
unreal left12:25
yngress joined12:25
isaqual_ argh.. Dirty index: cannot revert12:25
unreal joined12:26
Finkregh hi, where is the difference between serving the bare git repo via http i once create via git+ssh push and pulling it again via ssh? i renamed some branches from "branch-a" to "feature/branch-a" - when i use ssh to pull it again i get all branches, when i use http i get the old "branch-a" ...12:27
banisterfiend left12:28
Finkregh i renamed the local branch, deleted the remote one and then pushed the renamed...12:28
fs-sylr what does "tip commit" means ?12:28
curtana spuz, something like: git log --pretty=%H Makefile.am | while read line; do git show "$line":Makefile.am | wc -l; done | tac12:29
bluenovember impressive12:30
PeaMan left12:31
PeaMan joined12:32
xiangfu joined12:32
spuz curtana: thanks!12:33
PeaMan left12:33
PeaMan joined12:33
banisterfiend joined12:36
PeaMan left12:38
banisterfiend` joined12:39
banisterfiend left12:40
kpreid joined12:42
SimonP86 joined12:44
etag thiago: any good tutorial to setup gitosis for multiple users?12:45
dnordstrom joined12:45
napster_123 left12:45
etag i mean with gitolite12:45
bremner etag: is there something missing from the gitolite documentation?12:46
asmega joined12:47
bremner the author is very interested in making good documentation, so if something in particular is confusing you, you should let him know.12:48
napster_123 joined12:49
napster_123 left12:50
banisterfiend` left12:51
banisterfiend joined12:51
tatsuya_ joined12:52
tatsuya left12:52
bartj left12:52
etag bremmer: just confuse in multi client settings12:52
dquestions left12:52
etag bremner: i hope these steps will be repeated for setting up another client as well12:53
dquestions joined12:53
bremner etag: can you point to the part of the docs you mean?12:55
etag wait12:55
napster_123 joined12:57
Ecco joined12:57
Ecco Hi everyone. I'm setting up gitosis on a Debian machine.12:57
cannonball joined12:57
cannonball left12:57
cannonball joined12:57
Ecco Can I change the location of the gitosis-admin.git repository ?12:58
gitosis-init puts it in /root/repositories, but I think it's got nothing to do in there12:58
bremner Ecco: you should probably use gitolite instead of gitosis12:58
Ecco bremner: Really ?12:58
etag bremner: at this step "package method) directly on the server, using RPM/DEB"12:58
Ecco Actually I've been reading about gitolite too, but it seems like one dirty hack to me12:58
Plus I don't care about per-branch right managment12:59
bremner as compared to gitosis?12:59
weird12:59
Finkregh left12:59
bremner Ecco: the short version is that no one knows the answers to gitosis questions12:59
Ecco :-)12:59
gebi joined13:00
gebi left13:00
gebi joined13:00
psankar joined13:00
Ecco so gitolite is supposedly superior ?13:00
bremner in the sense that people answer questions about it :)13:01
Ecco ^^13:01
Ok, let me reconsider gitolite then :-)13:01
bremner but yeah, I think the functionality is a superset13:01
banisterfiend left13:01
dburba left13:01
bremner etag: that only needs to be done once13:02
etag: you can have the gitolite-admin repo on as many clients as you want13:02
banisterfiend joined13:03
etag bremner: docs are reall rough, it even dosent specify that you need to create users befure su13:04
bremner etag: maybe they assume basic unix sysadmin knowledge.13:05
acs joined13:05
thierryp joined13:05
bremner see "technical skills"13:05
etag bremner: but its kind of pretty rough13:05
_ikke_ Is it posible to let git log --graph also show branch names?13:06
ChanServ set mode: +v13:06
acs I made 2 commits, and I wish to unify both into only 1. How can I do it?13:07
gusnan joined13:07
bremner etag: well, it's hard to predict what is obvious to everyone. You are the first with this particular complaint. But it should be easy to fix. I suggest making a patch that mentions greating the git user and sending it in.13:07
gitolite [email@hidden.address] is the mailing list13:08
actually, the user should be created by the package installation13:09
>> If you're using DEB or RPM, the installer creates a user called "gitolite", so substitute that for "git" anywhere in the docs where the "hosting user" is mentioned as "git".13:09
psankar left13:10
bremner acs: use rebase --interactive and squash the second onto the first13:10
psankar joined13:11
Amorphous left13:11
mmc left13:13
thiana left13:14
madewokherd joined13:15
Fullmoon joined13:16
rolfb joined13:16
thiana joined13:16
linusoleander joined13:17
Ecco Crap13:18
your git version is older than 1.6.213:18
I'm on Debian Lenny :-/13:18
linusoleander left13:18
bremner there is backports13:18
Ecco pff, fuck13:19
How should I do that ?13:19
banisterfiend left13:19
acs bremner: thanks13:19
welly left13:19
bremner Ecco: backports.debian.org13:19
Ecco thanks13:19
Fullmoon left13:20
_pingu joined13:20
isaqual_ left13:21
_pingu left13:21
dbbnj left13:22
sitaram Ecco: how is gitolite a dirty hack if gitosis is (presumably) not? It uses the same basic idea...13:23
Ecco sitaram: Well, you're right :-)13:23
sitaram etag: as for creating a user, see the "Conventions used" section... briefly, the user does not have to be "git". It can even be your own normal userid!13:24
coderdad joined13:25
kanru left13:26
SimonP86_ joined13:29
banisterfiend joined13:30
SimonP86 left13:32
banisterfiend left13:32
sitaram etag: if you want stuff as detailed as "useradd git" etc., either look at the install-transcript doc ( https://github.com/sitaramc/gitolite/blob/pu/doc/install-transcript.mkd ) or someone wrote a tutorial at http://sites.google.com/site/senawario/home/gitolite-tutorial13:32
Amorphous joined13:34
zakuni joined13:34
sebersole joined13:35
goshawk joined13:38
SianaGearz joined13:42
PCJockey left13:42
heina joined13:42
etag left13:43
avinashhm joined13:45
jelmer left13:46
MmikeMRMA left13:46
jaql joined13:47
etag joined13:47
tstclair left13:48
heina left13:48
tstclair joined13:48
jelmer joined13:51
dr_win joined13:52
ereslibre left13:53
rolfb left13:53
MattDiPasquale joined13:54
smuf joined13:54
project2501b joined13:55
OOPMan left13:59
kanru joined14:00
sonnym left14:01
banisterfiend joined14:02
banisterfiend left14:03
BiggFREE left14:03
psankar left14:04
isaqual_ joined14:04
FYLGood joined14:04
mtkd_ left14:05
banisterfiend joined14:06
artefon left14:07
edude03 left14:07
rraasch left14:08
shentino joined14:08
etag left14:08
edude03 joined14:09
sepen joined14:09
linusoleander joined14:10
banisterfiend left14:11
nullvariable joined14:11
nsdk joined14:12
napster_123 left14:12
Manifesto left14:12
eletuchy left14:13
isaqual_ left14:14
kpreid left14:14
nsdk left14:15
mmc joined14:17
linusoleander left14:18
banisterfiend joined14:19
edude03 left14:21
cpgcpg|away14:22
genomega left14:22
mlq left14:25
bushwakko joined14:30
klando joined14:34
rchavik joined14:34
banisterfiend left14:35
ChanServ set mode: +v14:35
zombor joined14:35
klando Hello, I wonder how to create/transform a git respository to a git --bare repository ?14:35
broonie c!14:37
federico2 joined14:39
federico2 hi there14:39
shruggar klando, what is your goal? Did you just type the wrong command when cloning?14:40
klando I think so14:40
I now have git not-bare where I want to push easely, and also some co-wrker14:40
genomega joined14:41
klando I wnt to move it to a git-bare14:41
gebi klando: set the bare flag, remove the working copy and rename .git to <repo>.git14:41
kpreid joined14:41
klando gebi, ok, remove working copy, mean : just keep the .git ?14:41
(and rename...)14:41
gebi exactly14:42
klando thank you gebi and shruggar14:42
gebi a bare git repo is nothing fancy14:42
;)14:42
banisterfiend joined14:43
kukks joined14:45
Eiler when i install git, how do i get git gui? in gentoo i just did emerge git14:46
PeaMan joined14:46
acs left14:46
tasslehoff joined14:48
EricInBNE left14:49
dbbnj joined14:49
iizukaway__ joined14:50
makubi joined14:50
mtkd joined14:53
q0rban joined14:53
sonnym joined14:53
rgr joined14:54
unreal left14:55
kylehayes joined14:55
kylehayes left14:55
Hutch[S]|awayHutch[S]14:55
kylehayes joined14:55
unreal joined14:56
NickyP joined14:56
tech13 joined14:58
dbbnj left14:59
kanzure can i get git log --grep to search commit metadata (not just commit messages)?15:00
xiong joined15:00
tech13 left15:00
engla kanzure: nope. git log -S searches the diffs15:01
dbbnj joined15:01
alberto56 joined15:01
Adaptee left15:01
kanzure engla: hmm okay. i am willing to pipe to grep on my own; is there a way to get git log to show all commits in a repo (i.e. on multiple branches)?15:02
alberto56 left15:02
sftp joined15:02
kanzure SethRobertson: you're showing up in a lot of my search results15:02
freimatz left15:02
engla kanzure: sure, with --all. What do you want to search for?15:02
kanzure engla: i have imported an svn repo into git and there are certain commits that have different ids but the same timestamp (i.e. due to an svn mv or something stupid)15:03
so my goal is to first confirm i can find something with the same timestamp15:03
then to write a script to find pairs like this for me15:03
sepen left15:04
engla kanzure: ah I see. I believe you can't search by date since it's just metadata, there is no ordering in it between commits.15:04
rchavik left15:04
kanzure git log --all | grep "03:17:59" seems to work for me15:04
banisterfiend left15:05
psankar joined15:06
aah joined15:08
frogonwheels left15:08
tewecske joined15:10
rayners joined15:10
denysonique left15:10
pigdude joined15:10
petercoulton joined15:10
dquestions left15:10
dquestions joined15:11
stringoO joined15:11
beatak joined15:11
Wyverald left15:12
SimonP86_ left15:12
SimonP86_ joined15:13
SimonP86_ left15:13
banisterfiend joined15:13
tatsuya_ left15:15
giallu joined15:15
ph^ left15:16
banisterfiend left15:18
hobodave joined15:18
smolyn joined15:20
fowlduck joined15:20
hobodave left15:21
boombatower joined15:21
boombatower left15:21
boombatower joined15:21
bushwakko left15:24
kpreid left15:24
banisterfiend joined15:24
schacon joined15:24
WebDragon joined15:25
banisterfiend ok how the heck do i use git notes? :(15:25
i want to add a note15:25
im doing: git notes add -m "hello" HEAD15:26
pratz left15:26
banisterfiend but it's not working15:26
zakuni left15:26
artefon joined15:26
mfacenet joined15:27
mfacenet left15:27
mfacenet joined15:27
stliu joined15:27
stliu left15:27
stliu joined15:27
parasti banisterfiend: git notes add15:28
banisterfiend parasti: can you give me a full example? cos im doing that and it isnt working15:28
parasti that is the full example15:28
then I have to ask, how do you check that it's not working?15:29
;)15:29
engla banisterfiend: how do you know it's not working? error message?15:29
banisterfiend parasti: i just get usage instructions when i do that15:29
engla: i dont get an error, i just get usage instructions15:29
engla banisterfiend: git version?15:29
parasti for "git notes add", no options?15:30
banisterfiend engla: git version 1.7.0.2.msysgit.015:30
Modius left15:30
banisterfiend parasti: no options15:30
engla 1.7.0 version of notes has much less features15:30
banisterfiend what version of git are you running?15:31
engla I'm using 1.7.215:31
banisterfiend oh ok15:31
can i safely upgrade it in windows?15:31
parasti seems git notes add was added after 1.7.0.215:31
banisterfiend or will i lose or my config settings?15:31
engla git upgrades are very safe15:32
WebDragon|laptop joined15:32
WebDragon left15:32
banisterfiend is 1.7.3 preview stable enough?15:32
WebDragon|laptopWebDragon15:32
engla has no clue about msysgit15:33
curtana it should be fine15:36
alberto56 joined15:37
thierryp left15:37
alberto56 left15:38
banisterfiend how do i find out what commits and how many commits different between the remote and my local branch?15:39
im currently using git cherry -v origin/dev dev15:39
but is there a better way?15:39
noktoborus_ left15:40
curtana banisterfiend, gitk origin/dev...dev15:40
or git log --graph origin/dev...dev15:40
steph021 joined15:41
xiangfu left15:41
thomas_b joined15:41
banisterfiend nice thanks15:41
does anyone use git cherry though?15:41
tychoish joined15:42
steph021 left15:42
banisterfiend hot doi find the common ancestor of two commits?15:43
unreal_ joined15:44
unreal left15:44
dbbnj left15:44
fr0sty man git-merge-base15:44
jast the 'git-merge-base' manpage can be found at http://git.or.cz/man/git-merge-base [automatic message]15:44
unreal_unreal15:45
alberto56 joined15:45
banisterfiend fr0sty: thanks but it's just giving me the SHA-115:45
dbbnj joined15:46
fr0sty banisterfiend: git cherry is smart enough to know that two commits are the 'same' even if they have different hashes. git log a...b will show both commits even if they introduce the same changes.15:46
codespectator left15:46
fr0sty banisterfiend: what were you expecting to get?15:46
that SHA-1 is the common ancestor.15:46
banisterfiend fr0sty: i want more info on the commit15:46
JEEB left15:46
fr0sty man git-show15:46
jast the 'git-show' manpage can be found at http://git.or.cz/man/git-show [automatic message]15:46
banisterfiend on the common ancestor commit15:46
fr0sty or git log -1 <sha>15:47
git show <sha>15:47
parasti git show $(git merge-base ...)15:47
banisterfiend thanks15:47
tasslehoff left15:48
project2501b left15:48
goshawk left15:50
rsewill left15:50
alberto56 left15:51
jelmer left15:52
mlq joined15:52
mlq left15:52
mlq joined15:52
banisterfiend does git provide a C library?15:54
an API?15:54
or do all wrapper libraries have to shell out to the CLI ?15:54
thrillERboy left15:55
JEEB joined15:55
fr0sty banisterfiend: pretty much everybody wraps15:55
dbbnj left15:55
fr0sty there is lib2git but it is still immature (though I guess development is ongoing again.)15:56
xiong left15:56
banisterfiend hmm15:56
so git wasn't designed with a C-API in mind?15:56
it's totally designed around a CLI?15:56
fr0sty yeah.15:56
rolando left15:56
fr0sty why would it have been otherwise15:56
itamarjp left15:56
fr0sty ?15:56
carutsu_ joined15:57
banisterfiend i guess so that programs can tap into git functionality without having to resort to shelling out all the time15:57
which is kinda ugly imo15:57
msieradzki joined15:57
fr0sty uglier than making every scripting language in existence go through some sort of wrapper to get at it?15:58
honestly, who is writing git utilities in C?15:58
git in C, yes.15:58
banisterfiend what?15:58
fr0sty but git-svn git-* is perl/python/tk/etc.15:58
banisterfiend it's up to the scripting language to decide if they want to wrap git functionality in a C extension, or if they want to just shell out15:58
logankoester joined15:58
fr0sty and bash15:58
or sh15:58
sitaram banisterfiend: shell is ugly? It's fast and clean...15:58
stliu left15:58
jast libgit2 is an attempt to implement all the interesting stuff in git as a library15:59
banisterfiend cool15:59
fr0sty banisterfiend: the question is: if a vast majority of git users will neve use a C api why the devil would one bother to implement it.15:59
jast it's... not very complete, to put it mildly15:59
jelmer joined15:59
fr0sty wonders what, precisely, banisterfiend is trying to accomplish.15:59
Polysics joined16:00
jast well, especially on servers, running all git operations in new processes can incur significant overhead16:00
sitaram banisterfiend: I realise you needed help to get from "git merge-base ..." to "git show $(git merge-base ...)"; for most of us however that is second nature. A C API would *suck*. Rocks. Big ones/16:00
jast I guess that's one of the reasons why Scott Chacon is very interested in having a usable libgit2 :)16:00
guys, it's not like a C library would suddenly eliminate the complete CLI16:00
banisterfiend fr0sty: because git is starting to be used in many situations where a CLI doesnt make a lot of sense16:01
fr0sty: like in RubyDrop for example, where git use is entirely automated to implement a kind of file store16:01
robotarmy joined16:02
fr0sty banisterfiend: just think of the CLI as 'universal API'16:02
krainboltgreene joined16:02
sitaram nods16:02
banisterfiend and more as new applications for git are found where git use is totally automated and controlled by a program16:02
ok16:02
fr0sty btw, I'm not trying to denigrate Scott and libgit2. If that floats his boat, great.16:02
sitaram banisterfiend: program == shell script ;)16:03
schacon left16:03
fr0sty However, I can't imagine more than a few very isolated use cases where the overhead of creating a separate process for each git command would be a significant compared to the actual amount of work done by git.16:04
dbbnj joined16:04
broonie More so on Windows, Windows process creation overhead is hideous.16:04
napster_123 joined16:04
aah left16:05
bcardarella joined16:05
uau joined16:07
dbbnj left16:08
FND joined16:09
opalka left16:09
FND hi - after I resolved a merge conflict and committed the merge, is there a way to retrieve the conflicts' diffs?16:09
alberto56 joined16:09
dbbnj joined16:10
dbbnj left16:10
slonopotamus joined16:10
dbbnj joined16:10
banisterfiend left16:11
Polysics hello16:11
warbee joined16:11
Polysics is there a way of providing a "sample" version of a .gitignored file?16:11
PerlJam Polysics: sure, just don't ignore the sample16:12
Rhonda left16:12
jast you can simply add .gitignore files to the repository16:12
oh, ignore me16:12
I'm a bit slow today16:12
Polysics but i need to call it, say, database.yml.sample?16:13
makubi_ joined16:13
Polysics sounds good enough16:13
fr0sty FND: do the merge again in a throwaway branch.16:13
makubi_ left16:13
makubi left16:13
OOPMan joined16:13
FND fr0sty: it's about reviewing what's already been committed16:13
jast fr0sty: well, the main case is programs that call git lots of times, e.g. gitweb lookalikes16:13
makubi joined16:14
fr0sty 'git show <merge_commit>' might tell you something interesting.16:14
Dave^| joined16:14
kanru left16:14
FND will check that, fr0sty (been using "git log --stat -p")16:14
jast same difference16:14
Dave^| left16:14
Polysics left16:15
Dave^| joined16:15
Rhonda joined16:15
FND jast: in case you were referring to me, git log --stat -p shows no diff for merge commits16:15
tj_ joined16:15
tj_tjholowaychuk16:15
jast then git show probably won't show it either16:15
Dave^| left16:16
Rh0nda joined16:16
makubi left16:16
Dave^| joined16:16
cbreak_work left16:16
FND it does, jast16:17
banisterfiend joined16:17
FND which is odd and a bit annoying...16:17
Rhonda left16:17
tbf joined16:17
yairgo joined16:18
fr0sty FND: what are you expecting to see?16:18
FND fr0sty: http://pastebin.com/r0u7mVNL is what git show displays, which is useful16:18
Rh0nda left16:18
Rhonda joined16:19
saschpe joined16:19
FND basically, if there were conflicts, I need to be able to review how they were resolved16:19
_psychic_ joined16:19
sigmonsays joined16:20
fr0sty FND: 'git show <merge_commit>' is a special case that shows you the 'interesting' parts of the merge.16:20
jast hmm, what does it do in the background?16:21
Rhonda left16:22
Rhonda joined16:22
ericindc joined16:22
Rhonda left16:23
Rhonda joined16:23
hal joined16:23
saschpe left16:23
hal I have this message Your branch is behind 'upstream/master' by 108 commits, and can be fast-forwarded.16:23
even though I run git reset --hard, and git pull upstream master, this message still remains16:24
can anyone recommend a course of action please?16:24
G__81 joined16:24
saschpe joined16:24
fr0sty 'git merge --ff-only upstream/master16:24
G__81 if i want to get the last 10 patches from a branch how do i get it ?16:24
fr0sty git format-patch HEAD~1016:25
aresnick left16:25
hal fr0sty: thank you, What does this message actually mean?16:25
fr0sty HEAD~10..HEAD, actually...16:25
hal fr0sty: why doesn't it just ff with the commands I've used?16:25
parasti the range is not necessary16:25
sako left16:26
fr0sty heh, or not...16:26
don't do format-patch myself.16:26
hal: dunno. something odd in your .gitconfig16:26
napster_123 left16:26
hal hmm16:27
ok16:27
thank you fr0ggie16:27
fr0sty np.16:27
slonopotamus left16:27
G__81 fr0sty, thanks16:27
parasti I had to laugh :P16:27
hal fr0sty: that doesn't work16:28
fr0ggie: it doesn't recognise the syntax16:28
tbf left16:28
fr0ggie grabs chainsaw16:28
psoo left16:28
hal ok fr0sty , I've got it thank you16:28
parasti easy now, Dave16:29
hal fr0ggie: sorry ! :)16:29
napster_123 joined16:29
mriber joined16:31
_ollie joined16:32
Heimidal joined16:32
kpreid joined16:33
phantomcircuit joined16:34
Hutch[S]Hutch[S]|away16:34
gusnan left16:34
_ollie left16:35
mriber left16:35
mriber joined16:36
ChanServ set mode: +v16:38
mriber Hello... I am recently moved from SVN to GIT on a private project with 2 developers.. I am seeking some "svn'ish" advice.. Currently i am working on the master branch, but has to start on a major change in the code - so i want to branch my code, allowing both me and the other developers to work simultanis on both the master branch and the new branch.. Is this called a fork in GIT-world?16:38
simplechat left16:38
WebDragon|laptop joined16:39
napster_123 left16:39
nonno joined16:40
nevyn^__ joined16:41
nevyn^_ left16:41
nevyn^__ left16:41
nevyn^_ joined16:41
steph021 joined16:41
steph021 left16:41
steph021 joined16:41
Yuffster joined16:41
isaqual_ joined16:42
WebDragon left16:42
WebDragon|laptopWebDragon16:43
banisterfiend left16:43
Fangorn_ mriber: creating a new locally is easy; git checkout -b new_branch_name master16:45
will create a new branch based on master (new_branch_name is up to you to specify)16:45
mabrand left16:49
ntoll joined16:49
joel_falcou joined16:50
smolyn left16:50
bentob0x joined16:50
mabrand joined16:51
abhinav_singh joined16:51
ruien1 joined16:51
ntoll hi, I'm giving a presentation that involves creating a small app "live" as I'm talking and I want to use git to move the code state between the start (empty project) through each revision to the finished project.16:51
rajeshsr joined16:52
ntoll the problem is, how do I checkout the code for a specific revision... I had though of using git show ... but that only gives me the diff16:52
any ideas or suggestions16:52
kokx left16:53
gusnan joined16:53
kokx joined16:53
fahadsadah joined16:54
hyperair left16:54
shorg You could tag each revision say, slide_A,slide_B,slide_C and then do git checkout slide_A16:54
ruskie joined16:54
abhinav_singh I am having a project and i am using git...i want to know how to push the git branch to my hosting server16:54
ntoll shorg, aha16:55
shorg, thanks16:56
shorg abhinav: Check out http://progit.org/book/ch3-0.html16:56
LiamH joined16:56
mikepack joined16:56
shorg The basic command your looking for git push <remote server> <branch to push>16:56
bentob0x left16:57
ymasory joined16:57
shorg ntoll, you could also just use the hashes, but that's a bit messy and probably detracts from your lecture.16:58
ntoll shorg, sure... tagging sounds the path of least resistance... and lets face it... I'll be presenting code in front of 30+ Python hackers so I don't want my SCM to break the flow... ;-)16:58
_psychic_ left16:59
DrNick left16:59
OOPMan left17:00
_psychic_ joined17:00
ph^ joined17:01
__name__ joined17:01
__name__ left17:01
__name__ joined17:01
jjcli_ joined17:01
MikhX left17:02
Vardan left17:02
ignatp joined17:02
mriber left17:03
jjcli left17:04
ntoll shorg, ok.... your suggestion works exactly how I imagined I wanted to work17:04
shorg, thanks17:04
stamina_ left17:05
shorg great!17:05
brntbeer joined17:05
shorg Just don't forget to push your tags before you presentation ;-)17:06
smuf left17:06
flazz left17:06
DrNick joined17:08
ayanes left17:10
mgorbach joined17:11
mgorbach I'm learning how to use git svn and I've fucked up my repo a bit. Was hoping for a bit of help as to how to fix it.17:11
aah joined17:11
mtkd left17:11
tbeadle joined17:11
mgorbach I do some work on a branch (dyldOptimization), then merged that branch onto trunk with a --squash17:12
marc_kdab left17:12
yhager_ joined17:12
Zhonghua left17:14
tbeadle hi. I have a branch and I want to rebase the first few commits of that branch on to master, I tried "git rebase master <sha1 of last commit I want rebased>" but this ends up leaving me in a detached head state. What am I doing wrong?17:14
neoeinstein joined17:14
tbeadle or how do I get master to point at my detached HEAD?17:15
ijuma_ joined17:16
nevyn^__ joined17:16
nevyn^__ left17:17
dquestions left17:17
dquestions joined17:17
nevyn^_ left17:19
kenichi joined17:20
kar8nga joined17:20
opalka joined17:21
G__81 left17:21
kipras joined17:22
mastro left17:23
MikhX joined17:23
yairgo left17:26
frakturfreak left17:26
PeaManPeaMan_17:27
Hutch[S]|awayHutch[S]17:27
dreiss joined17:27
federico2 left17:28
g0bl1n left17:28
piotr_ hi, what does it mean if I have the same file in Changed but not updated and Changes to be committed17:28
I just commited handpicked files from the stash17:28
DrNick you modified the file, staged it for commit, and then modified it again17:30
piotr_ yes but conceptually?17:30
diff was different when git diff --cached and git diff17:30
napster_123 joined17:30
piotr_ is like part of file staged and part not staged?17:30
I'm confufsed17:31
Fangorn_ diff --cached is a diff between the index (staged in your parlance) and the current branch17:32
diff by itself is a diff between your working directory and the index17:32
dev001 joined17:33
frakturfreak joined17:33
giallu left17:33
smolyn joined17:33
doener joined17:33
parasti consider: Git stores the entire tree at each commit, the index is where you prepare that tree17:34
there are no "parts of", there's a file in index, and a file in your work tree17:34
and they are different from what is committed and from each other17:34
Mannequin left17:34
mikepack left17:35
abhinav_singh left17:35
__name__ You can stage parts of files though.17:35
FsTluxe joined17:35
flazz joined17:35
flazz left17:35
dev001 i cloned a git repo. it defaulted to 'master' branch. i switched to another branch via 'git checkout -b <branchname> remotes/origin/<branchname>'. now, i'd simply like to abandon-the-current-ship, and return to working in the 'master' branch. short of deleting and re-cloning, how's that done? git branch-fu is eluding me ... :-/17:36
flazz joined17:36
piotr_ thanks guys17:36
Fangorn_ dev001: git checkout master17:37
FND left17:37
parasti __name__: there is such a thing, but it does not result in a "part of" something being stored in the index17:37
__name__ parasti: Yes17:37
noahcampbell joined17:37
gebi left17:38
mgorbach left17:38
kelvie_ left17:39
makubi joined17:40
dcsobralWork joined17:40
dev001 Fangorn_: oh for heaven's sake! i was fubaring it all with a "-b" . thanks!17:40
ArseneRei joined17:40
Fangorn_ dev001: -b creates a new named branch off an existing on17:41
one17:41
schacon joined17:41
JungleSavvy joined17:42
_ollie joined17:42
guardian left17:42
dev001 Fangorn_: yep, thx. i was led astray by confusion abt "You are in 'detached HEAD' state.". re-reading stuff ...17:42
hyperair joined17:43
crazed joined17:46
crazed hm, what hook script can i use to execute something on a push?17:46
ph^ left17:46
crazed basically i'm pushing code to a repo, on that repo i want some action to be taken17:46
maybe hooks isn't the right place though.. since the git repo is remote17:47
xtagon joined17:47
Destos joined17:48
_ollie left17:52
kelvie_ joined17:52
shruggar left17:52
Fangorn_ crazed: web search for gitolite and hooks17:53
ph^ joined17:53
crazed post-update was teh hook i was looking for17:53
sweet, i think i can work off this17:53
just trying to auto-deploy code checkins to a dev server17:54
towski joined17:54
crazed and this should do the trick17:54
ruien1 left17:55
galderz left17:55
dev001 left17:55
stringoO left17:55
jfkw joined17:56
jcody joined17:56
chrisred left17:56
ketin left17:58
tbeadle left17:58
ChanServ set mode: +v17:58
jcody hi channel, I'm having an abysmal time reverting to a previous commit with git svn, could anyone lend an ear or a hand?17:59
sigmonsays left17:59
doener jcody: what do you mean by "reverting to a previous commit"?18:00
Hutch[S]Hutch[S]|away18:00
petran left18:00
Schmallon left18:00
doener jcody: just going back there to test something, or adding a new commit that has the same tree as some existing commit?18:01
jcody I'm looking to git reset to a previous commit, then git svn dcommit on top of the current svn working directory to update it18:01
svnlto joined18:02
jds joined18:02
dnordstrom left18:02
coldboot Is there a way to get a combined diffstat of an arbitrary list of commits?18:02
jcody i can svn up -r #### to get the server where i want it, and i can git reset <<hash>> to get local where i want it, but i can't seem to get the two to communicate18:02
marc_kdab joined18:03
parasti jcody: git checkout $commit -- .; git commit -m 'revert to r1234'18:03
doener jcody: I don't want to know what random set of commands you ran, but what conceptual goal you're trying to reach18:03
chikei left18:03
slakmagik joined18:03
slakmagik left18:03
slakmagik joined18:03
doener parasti: wrong when there are files present in the index that aren't in $commit18:03
bauruine joined18:03
jcody doener: sorry about that :( I'm trying to add a new commit with the same existing tree as a previous commit. essentially looking to discard a bunch of commits, as time ran shorter than i thought18:04
parasti oh? the ever so smart checkout isn't smart enough? :P18:04
doener jcody: git read-tree -u --reset $commit; # Resets the working tree and index to the tree of $commit18:04
parasti read-tree is ugly and low level, hence I tried to avoid it18:04
doener jcody: after that "git commit" to create a new commit with that tree18:05
gusnan left18:05
cognominal left18:05
doener jcody: then dcommit18:05
jcody parasti, i haven't tried your command yet. doener, should i try parasti's checkout, or skip straight to read-tree?18:05
cognominal joined18:05
parasti one or the other, don't do both18:05
preferably doener's18:05
phaedrix joined18:06
doener parasti: the clean way would be: git reset --hard $commit; git merge -s our -m "Override bad history" ORIG_HEAD18:06
parasti: but that confuses git-svn18:06
friskd joined18:06
doener parasti: so read-tree is the next best choice ;-)18:06
parasti: alternatively: git reset $commit -- .; git checkout -- .; git commit18:07
parasti: that leaves the new files as untracked18:07
jcody hey parasti, excuse my total ignorance, but what does the --. flag do in your checkout?18:07
parasti there's no such flag there :P18:07
it's -- followed by a space and by a .18:08
doener parasti: the problem with "checkout -- <path>" is that it's like "cp", so files aren't removed18:08
parasti -- means "treat whatever follows as a path"18:08
jcody ah, gotcha, misread that. thanks :)18:08
iaj left18:08
iaj joined18:08
parasti doener: that makes sense, just never occurred to me18:09
Hutch[S]|awayHutch[S]18:09
jcody ugh, still getting this: Merge conflict during commit: File or directory 'path/to/init.js' is out of date; try updating: resource out of date; try updating at /usr/local/git/libexec/git-core/git-svn line 57218:10
but git mergetool tells me "no files need merging"18:10
stringoO joined18:10
teweWork left18:10
WebDragon|laptop joined18:11
doener parasti: no problem ;-) And sorry for being "terse" initially... Shitty day18:11
Evious joined18:12
jcody should i give a shot to the read-tree solution?18:13
dreiss left18:13
parasti yes you should, but after you get your tree back into good shape18:13
well, branch, not tree18:13
jcody when you say, "get it into good shape," could you tell me what you mean by that?18:14
parasti by the look of it, your branch is missing commits that are in SVN18:14
and dcommit is complaining about that18:14
WebDragon left18:14
jcody ah, fair enough, so shall i simply try rebasing first?18:15
parasti I would do it differently, though18:15
I don't know what state rebase would leave you in18:15
so I suggest you git svn fetch instead18:15
and then git reset --hard svnbranch18:15
and then do the read-tree18:16
jcody git svn fetch seemed to do nothing for me18:16
parasti possible18:16
jcody is it normal to get no confirmation message there?18:16
iaj left18:16
parasti just leave that step out then18:16
(possible because you said you used reset earlier)18:16
(so the missing commits come from the fact that you removed some)18:17
_psychic_ Any tips on missing Git.pm errors when trying to run git-svn? I just compiled from source.18:18
Where do I find Git.pm?18:18
jcody all right, parasti, I've done the read-tree as well, now. now should i just make my changes locally and attempt to dcommit on top of svn18:19
?*18:19
parasti jcody: did you follow through with all the steps?18:19
stringoO left18:19
jcody i did. but i got fairly little confirmation from the command line along the way18:19
my file structure does appear to be as I'm aiming for, though.18:20
parasti jcody: more specifically, do you have a revert commit in the log?18:20
Zephyrus joined18:21
Textmode joined18:21
mmc left18:21
jcody er, i do not. i got a "Nothing to commit" message. i feel like I've borked things pretty well.18:21
alvaro_o joined18:22
hyperair left18:23
stringoO joined18:23
esc joined18:23
psankar left18:23
parasti jcody: what did you reset --hard to then?18:23
jcody i did git reset --hard master18:23
galderz joined18:23
deanc joined18:23
parasti are you on master?18:23
bluenovember left18:24
jcody i am. only a single branch here.18:24
parasti that did nothing then :P18:24
dnordstrom joined18:24
deanc I haven't committed to a branch for absolutely ages, and i have lots of files i want to commit (50+) but maybe 5-10 i dont. What's going to be the best way to solve this situation?18:24
parasti what SVN branch is master supposed to track?18:24
jcody: ^18:24
kevinmonk joined18:25
galderz left18:25
Fangorn_ deanc: have you staged your changes to the index yet or are they just in your working directory?18:25
parasti jcody: find that branch in the output of git branch -r, and reset --hard to that18:25
mfacenet left18:25
jcody ah, so git reset --hard git-svn18:25
parasti that seems about right18:26
bronson joined18:26
parasti and _now_ go through with the read-tree, commit, etc18:26
deanc Fangorn_: what do you mean by staged to the index? Added to git? Committed changes?18:26
excuse my ignorance to the terminology, im still picking this up as a i go :)18:26
jcody parasti-ah, ok, now i have a revert commit!18:27
kevinmonk I did a git fetch of a branch on a remote server and there were some conflicts. If I now do git status then I can see the files from the new branch. I want to remove thse files so that if I do git status it should just say "Nothing to commit". How do I do this? I've tried git reset --hard HEAD18:27
Fangorn_ deanc: git add will add files from the working directory to the index, which is where the upcoming commit is prepared18:27
kevinmonk and tried doing a pull18:27
srid joined18:27
deanc Fangorn_, yep i can do that easy enough. But then i have loads of files to commit, and loads to ignore18:27
Fangorn_ deanc: use git add to add those files your want as part of your next commit (you can verify this using git status)..18:27
deanc lot of these are already in git, ive just changed them :)18:28
Fangorn_ deanc: once you're satisfied, you can use git-commit to commit those stanged files18:28
deanc Fangorn_: I have lots of files that I don't want to commit though. It will take ages to type out the command to choose individual files to commit. I'm wondering if there's a smarter way of doing this18:28
I'm of course aware that the smarter way to have done this would have been to commit regularly ;)18:28
Fangorn_ deanc: git add --interactive18:29
deanc Won't this just add the newly created files to the commit queue?18:30
or will it handle committing as well?18:30
justin-george joined18:31
Fangorn_ deanc: it'll add new/changed files to the commit queue18:31
kevinmonk Ahhhh.. FOund it! Git clean18:31
:)18:31
deanc okay Fangorn_, im reading the manual :)18:32
cylence left18:33
madsy joined18:33
madsy left18:33
madsy joined18:33
isaqual_ left18:33
Fangorn_ deanc: see the Interactive Mode section of man git-add18:33
jast deanc: the 'git-add' manpage can be found at http://git.or.cz/man/git-add [automatic message]18:33
dogmatic69 joined18:34
spearce joined18:34
dogmatic69 hi all, is it possible it init only some submodules18:34
gebi joined18:35
MikhX left18:35
MikhX joined18:35
deanc Fangorn_ once i have selected all my untracked files that i want to add what do i type to actually do the command :o18:36
Fangorn_ deanc: after they've been staged to the index using git-add, and you've verified the status of the index with git-status, you can git-commit18:37
klando left18:37
deanc okay but the problem still remains18:37
i have a few files here that i dont actually want to commit18:38
out of the 50 or so18:38
is there an interactive commit?18:38
dogmatic69 git checkout -- file18:38
that will undo the git add18:38
deanc that's not what im trying to do :p18:38
spaceonline joined18:39
deanc these are files that are intentionally changed (config) but i dont want to delete them from vcs or commit that i've changed them18:39
sebersole left18:39
Fangorn_ deanc: git-commit will only commit the changes you've staged to the index using git-add first.... so just use git-add on the files you want to add to the commit18:39
and the interactive mode is git-add -i or git-add --interactive18:39
deanc Fangorn_ the changes were made to files already in the index18:40
dogmatic69 ye if you dont git add it wont be in the repo, if you have git add'ed them, git checkout -- file takes them out but the changes are still ther18:40
enherit joined18:40
cbreak deanc: it's not FILES that are in the index18:40
it's content18:40
dogmatic69 git reset --hard undoes changes18:40
plediii joined18:40
Fangorn_ deanc: run git-status, and tell me the status of 1 of the files that you don't want committed18:40
deanc # deleted: app/config/database.default.php18:41
artefon left18:41
cbreak do you deleted it.18:41
deanc yep, but it's a default config file, so if i commit that as deleted, no-one will have default config when they check out18:42
cbreak then don't18:42
deanc it's renamed to database.php, to be precise18:42
cbreak just leave it alone18:42
deanc cbreak: im not going to commit it. That's my dilemna. I have about 50 files, and 10 i dont want to commit the changes ive made18:42
cbreak git checkout database.default.php18:42
the file will be back again18:42
deanc i dont want to revert the changes ive made either...18:43
svnlto left18:43
deanc to that delete files18:43
cbreak then don't git add them!18:43
deanc lol, you're missing the point18:43
cbreak you're missing the point18:43
if you don't want it to be commited18:43
do not STAGE IT FOR COMMIT18:43
deanc database.default.php contains default config. it's required for all people who check out the project. They rename the file to database.php and add their own config. If that file isn't there in the first place they'll be missing an important file18:43
cbreak if you have some main.cpp file where you want to change each foo to bar, do it. but don't git add it after that.18:43
curtana left18:44
cbreak why do those people rename it?18:44
that's dumb anyway18:44
just make a copy.18:44
but in the general case: if you don't want a change to be commited, don-t git add it.18:44
deanc The reason it's in VC in the first place is so it's shipped with the checkout18:45
fedesilva joined18:45
deanc The same situation would apply if i didn't require a rename, but just change the values in the default file18:45
Ecco left18:45
dogmatic69 if you delete a file you have to git add -A or git rm it to affect the repo18:45
cbreak yeah, as I said18:46
don't add it...18:46
dogmatic69 you can just restore it from trash, copy from github etc and it will be like nothing ever happend18:46
git checkout -- file should undo the delete also18:46
deanc well another example is ive altered the default .htaccess that came with the app so have a .htpasswd just for this one checkout.18:46
saschpe left18:46
dogmatic69 ok18:46
cbreak so, where's the problem?18:46
don't add it...18:46
teuf deanc: people have already told you plenty of times that to get these changes in, y ou'd have to do git add .htpasswd; git commit18:46
deanc teuf the file is shipped with the checkout18:47
teuf if you don't do the git add, the changes to .htpasswd won't be committed18:47
deanc: git add adds changes to commit18:47
dogmatic69 working tree -> staging -> repo (iirc)18:47
eventualbuddha unless you do "git commit -a"18:47
teuf not new files18:47
cbreak deanc: I told you, FILES ARE NOT IN THE INDEX18:47
moconnor joined18:47
cbreak the index is for content18:47
eventualbuddha so, don't do -a ;)18:47
teuf deanc: you should make a clean checkout and experiment18:47
s/checkout/clone18:47
cbreak the content of the index is independent from the content of the working directory.18:47
teuf ie just clone, change a file, and play with git add/git commit18:48
vitor-br left18:48
eventualbuddha git add -p is particularly fun18:48
Rai left18:48
Fangorn_ neat, didn't know about git add -p18:49
teuf Fangorn_: I find it much more convenient than git add -i18:49
moconnor left18:49
cbreak it's a subset of git add -i18:49
(the only useful subset :)18:50
nonno left18:50
vitor-br joined18:50
Fangorn_ deanc: read carefully the description section of man git-add, and make sure you understand the distinction between the working directory, index, and the commit repository18:51
jast deanc: the 'git-add' manpage can be found at http://git.or.cz/man/git-add [automatic message]18:51
patrikf cbreak: heh18:51
aisipos joined18:52
kanzure hmm how can i get \n to work here? git show -s --format='%H\n%P'18:53
pantsman joined18:53
WebDragon|laptopWebDragon18:53
patrikf kanzure: either use the power of your shell ($'...') or %n18:53
kanzure doh %n18:53
patrikf: thank you18:54
MikhX left18:54
wereHamster or --format='%H<enter>%P'18:54
MikhX joined18:55
patrikf wereHamster: that's the one shell feature i hate more often than find it useful18:55
kevinmonk left18:55
snucko joined18:55
PeaMan_ left18:56
PeaMan joined18:56
lightcap joined18:58
friskd_ joined19:00
ari-_-e joined19:00
gusnan joined19:01
tstclair left19:01
Yuuhi` joined19:02
genomega left19:02
Yuuhi left19:02
eft_ joined19:02
friskd left19:03
friskd_friskd19:03
kenneth_reitz joined19:03
napster_123_ joined19:04
patmaddox joined19:04
q0rbanq0rban|lunch19:04
guardian joined19:04
mdunham918 joined19:04
HG` left19:05
mdunham918 hello guys I'm wanting to build an integrated version control system and im wondering if i can setup my own local git server19:05
im on the git site and it says download but it appears thats a client19:05
HG` joined19:05
napster_123 left19:06
napster_123_napster_12319:06
genomega joined19:06
wereHamster there is no special server software in git19:07
the client is the server19:07
mdunham918 im confused then let me explain what im tring to do i want to build an app in java that simplifies the comunication between the developer and the version control system19:08
wereHamster uhm.. like.. jgit ?19:08
mdunham918 so i'd need a central server or db that everyone communicates with19:08
wereHamster are you really sure git is what you want?19:08
mdunham918 hmm never heard of it19:08
git seems pretty sweet and fast19:09
i like the commands and everything19:09
wereHamster so you want to do a (gui) frontent for git?19:09
mdunham918 basically19:09
wereHamster frontend even..19:09
mdunham918 but i want a central repository19:09
like my own local github19:09
patrikf please familiarize yourself with stuff you're writing a frontend for19:09
like, understand what it's actually doing19:09
wereHamster mdunham918: that would be something else..19:09
patrikf like, reading the docs19:09
mdunham918 yea im still learning about git but i've been watching screen cast on how to use19:09
wereHamster github != gui frontend19:10
patrikf like, using it19:10
mdunham918 its not the frontend i need19:10
wereHamster yeah, using it..19:10
kelvie_ left19:10
mdunham918 i need to figure out how to make commits to code that is stored on a central server19:10
dreiss joined19:10
mdunham918 wait19:10
patrikf indeed, *you*19:10
mdunham918 i think i got it backwards19:10
Zephyrus left19:10
mlq left19:10
mdunham918 so i'd put GIT on my server19:11
wereHamster also, it would help if you explained *why* you want to do taht, what you are using right now, why that tool is not sufficient etc.19:11
mdunham918 and have my clients SSH into that server and apply the commands19:11
fr0sty thinks 'distrubted' is not an understood concept here....19:11
eft_ hi guys - I am trying to generate a patch using git diff19:11
mlq joined19:11
wereHamster disturbed ?19:11
fr0sty s/distrubted/distributed/ sheesh...19:11
eft_ I can create the patch and it picks up changes to one file19:12
but not a new file that got added to the working dir in a sub folder19:12
Schmallon joined19:12
fr0sty mdunham918: will there ever be code on the client computers?19:12
wereHamster eft_: git add both files, the git diff --cached19:12
kelvie_ joined19:13
mtx_init joined19:14
HG` left19:14
khmarbaise joined19:14
psoo joined19:14
eft_ wereHamster: I thought git diff compared working directory to repo?19:14
ie committed changes19:15
poseidon_poseidon19:15
patrikf eft_: no, working directory (only tracked files) to index19:15
stringoO left19:15
q0rban|lunchq0rban19:15
patrikf eft_: you might not know the index exists if you've always used commit -a19:16
eft_ shoot I'm gonna have to RTFM again19:16
Fangorn_ eft_: you're looking for git diff HEAD19:16
patrikf no he's not19:17
nimrod10` joined19:17
wereHamster git diff HEAD wouldn't change anything19:17
maybe 'git add -N <the new file> && git diff'19:18
Fangorn_ sorry, didn't read the original question19:18
wereHamster -N ... This is useful for, among other things, showing the unstaged content of such files with git diff and committing them19:18
AlexanderS joined19:18
nimrod10 left19:18
AlexanderS left19:18
wereHamster it's right there in the man pages...19:19
patrikf and committing them?19:19
wereHamster with git commit -a.19:19
patrikf oh, right.19:19
envi left19:19
eft_ so I'm at http://www.kernel.org/pub/software/scm/git/docs/git-diff.html19:19
and it says show changes between commits and working tree, which I took to be repository and working dir19:20
wereHamster git generally doesn't care aobut untracked files19:20
patrikf eft_: http://www.kernel.org/pub/software/scm/git/docs/gittutorial-2.html "The index file"19:20
wereHamster what if you had ltos of *.o files in the working tree.. would you want to have those displayed in git diff ?19:21
LongBeach joined19:21
nakkor joined19:21
andyburke joined19:21
eletuchy joined19:21
jcody left19:21
AlexanderS joined19:22
eft_ thanks guys - you are being patient with me19:23
Eaven joined19:24
eft_ so if I take an existing dir and do a git init followed by git add . I will have everything in index (staging area)19:24
wereHamster yes19:24
fowlduck left19:25
eft_ then if add a new file and modify and existing file, git diff should show these changes - ie difference between working dir and index?19:25
wereHamster the new file will be untracked, git won't care about it19:26
EvanR-work joined19:26
AlexP joined19:26
Eiler left19:27
isaqual_ joined19:28
patrikf eft_: if you "git add"ed it before modifying it, yes19:29
spuz left19:29
orafu you could "touch newfile && git add newfile", then add content to newfile -- git diff then shows the changes to newfile as well19:29
wereHamster orafu: wrong19:29
git diff wouldn't show any changes to newfile19:29
patrikf wereHamster: I disagree19:29
nakkor you could also do an intent to add on the file if you wanted a diff19:29
patrikf though git add -N newfile is simpler19:29
Fangorn_ eft_: you can also create a patch branch, commit the patch to the patch branch, and then use git format-patch to generate a patch19:30
doener wereHamster: it would, since the version in the index is still the empty file created by "touch"19:30
nakkor I am with patrikf, I usually use -N19:30
wereHamster patrikf: git diff shows diff between the index and working tree. If the file in the index and working tree is the same (as is the case after touch foo && git add foo), git wont' show any diff.19:30
patrikf wereHamster: you skipped the "then add content to newfile" part19:31
orafu wereHamster: tested now and works19:31
wereHamster oh, I missed that. but that's just stupid if you have add -N .19:31
orafu wereHamster: you missed the "then add content to newfile" part19:31
patrikf on that i can agree ;-)19:31
kanzure does a commit object have to have a tree?19:31
wereHamster yes19:32
Eiler joined19:32
jim yes19:32
kanzure hm..19:32
jim kanzure: see: git from the bottom up. each commit uses a tree.19:32
kanzure i'm making up a commit to fix an svn import19:32
wereHamster fix what?19:32
kanzure wereHamster: http://diyhpl.us/cgit/nanoengineer-fixed/commit/?h=Distribution&id=d7a2ecb79487035ac542e4fcaecf2e63a2e1471419:32
wereHamster: http://diyhpl.us/cgit/nanoengineer-fixed/commit/?h=master&id=fdee9debedc807b3af5d3d3e8cbd780881fe8ee019:32
that should clearly be one commit19:32
wereHamster so.. ?19:33
kanzure unfortunately it's two and the revision history is lost19:33
so i'm fixing that?19:33
napster_123 left19:33
kanzure this happens a lot in the repo (about 29 times)19:33
wereHamster just remove the two comits from the history.. ?19:34
or squash them together19:34
kanzure i fail to see how that will fix the history19:34
theoros joined19:34
kanzure ok squashing might19:34
wereHamster are they on different branches?19:34
jim then we don't understand what you want19:34
kanzure yes they are on different branches19:34
nakkor I have asked this before, but haven't gotten a clear answer. Searching the log to match any of the subject/body, author, and SHA19:35
wereHamster then just drop the first commit.19:35
nakkor I though leaving off --match-all would do it, but... no19:35
wereHamster git can't track such cross-branch history19:35
nakkor sorry --all-match19:35
kanzure wereHamster: the first commit in master is a bunch of files being added. if i drop it how does that accomplish my goal19:35
jim why are the commits on separate branches?19:36
wereHamster kanzure: the first commit removes debug.py from Distribution, the second one adds debug.py to master19:36
jim did it happen that way in the svn repo?19:36
Hutch[S]Hutch[S]|away19:36
kanzure jim: yes19:36
well, actually19:37
wereHamster kanzure: was the file added to distribution by accident?19:37
jim so some dev, using svn, committed something to one branch and something else to the other... right?19:37
kanzure jim: yeah i'm guessing he used svn mv19:37
schacon left19:37
iaj joined19:38
kanzure wereHamster: no it seems they developed mostly in Distribution and then later moved to trunk19:38
alberto56 left19:38
wereHamster kanzure: git has no way to represent such cross-branch moves of individual files. You'll have to live with that history19:38
cbreak cross branch history? that makes no sense...19:39
a brach IS history19:39
without a branch, no history.19:39
theoros we are the branches19:39
jim a brach is candy... a branch is history!19:39
cbreak if something leaves a branch, then it leaves history.19:39
kanzure photosynthesizes19:39
ProLoser|Work joined19:39
ProLoser|Work hallooo19:39
kanzure cbreak: it was deleted in Distribution because that's how svn mv works19:39
ProLoser|Work an entire file was staged19:39
kanzure not because they wanted to lose history19:39
ProLoser|Work however it was staged for a submodule19:40
how do i reset it?19:40
kanzure if i edit the repo and there's still files in Distribution nobody will care19:40
cbreak kanzure: they should have copied it if they would not have wanted it to vanish19:40
ProLoser|Work: git status19:41
it'll tell you19:41
ProLoser|Work it does tell me19:41
how do i not stage it?19:41
like... how do i ignore it19:41
SethRobertson kanzure: That is why I told you to make the merge *before* the deletes. You can leave the deletes around after the artificial merge.19:41
sixteneighty joined19:41
DrNick left19:41
kanzure SethRobertson: i was about to paste what you said yesterday (it made sense to me) in the face of all the "impossible" comments :P19:41
SethRobertson: i agree the merge should occur before the deletes19:42
in fact, i've traced all of the parent ids to that point (before the deletes) so i have that list ready19:42
SethRobertson Well, they are right. You cannot tie the delete to the add. I just finessed the problem.19:42
TheUni joined19:42
cbreak ProLoser|Work: just don't stage it19:43
staging is something active19:43
kanzure so my battle plan is to squash the commits in master that added files (there's maybe 10 of them) into one commit, then set its parent to the list i just mentioned (the list of commit ids from before the deletes in the other branches)19:43
cbreak you can not do it by not doing it19:43
bushwakko joined19:44
ProLoser|Work i want to get rid of it19:44
it's a pending staged thing and it's bugging the crap outta me19:44
__name__ left19:44
cbreak git rm deletes stuff19:44
saysjonathan joined19:44
cbreak git reset unstages stuff19:44
SethRobertson kanzure: I think I came up with a better plan later. Essentially take the ultimate commit--the last commit in the move series, and find the content tree hash for that commit.19:44
cbreak if it's untracked, you can add it to .gitignore19:45
jim ProLoser|Work: "bugging the crap etc", sounds like you could do personal work on that response...19:45
SethRobertson kanzure: Then create the fake octopus merge with all N parents with that ultimate tree hash as the tree hash for the commit19:45
kanzure: Then rebase all of the commits from that ultimate commit to the HEAD of master onto the new branch, delete/rename old-master, rename the new branch to master, and bob's your uncle19:46
kanzure SethRobertson: aha. yeah i was wondering about the tree id earlier. so thanks19:46
Luyang joined19:46
raynersrayners_afk19:47
MikhX left19:47
DrNick joined19:47
MattDiPasquale left19:47
cylence joined19:48
eagles0513875 joined19:49
eagles0513875 hey guys :)19:49
kanzure nooo19:49
nakkor Hrmm.. I am not sure if --all-match is broken19:49
SethRobertson nakkor: Provide the full command please19:49
nakkor anyone able to do a log search that matches only one of a grep/author?19:49
eagles0513875 any ubuntu users in here running git?19:49
thiago_home joined19:50
nakkor SethRobertson: in my test repo, no msg has "cb" but my email does: git log --oneline -10 --grep=cb --author=cb19:50
juanjoc_ left19:50
poseidon eagles0513875: you will probably get a better response on #ubuntu19:50
eagles0513875 poseidon: i am gonna follow the wiki for setting it up19:50
just apprehensive about how up to date it is19:50
nakkor when I run that I get no results, but when I do just the author, it works fine19:51
theoros use now, worry later19:51
msieradzki left19:52
SethRobertson nakkor: when I run `git log --grep=seth` I get results. When I run `git log --author=seth` I get results. When I run `git log --grep=seth --author=seth` I don't get results, whether or not --all-match is set19:52
That does appear to be a bug, but the reverse of what you have.19:53
nakkor SethRobertson: hrmm, am I misunderstanding the meaning of --all-match in the git log man page? http://goo.gl/9sCjH19:53
foocraft left19:54
nakkor it seems that if you want it to match --grep, --author-- committer, then include --all-match, otherwise don't include it to match any of those19:54
stringoO joined19:55
Luyang how do I list the local branch (correct term) and the remote one?19:55
names and configuration19:55
nakkor git branch -vv19:55
SethRobertson nakkor: Well, as I said with or without --all-match it appears to be doing an AND relationship between --author and --grep for me (1.7.3.2)19:55
simosx joined19:55
simosx left19:55
simosx joined19:55
nakkor SethRobertson: so is that a bug in git? Is there a way to match any?19:56
isaqual_ left19:56
SethRobertson Luyang: git branch -a; git remote show origin19:56
simosx left19:56
amerine joined19:57
kanzure SethRobertson: when i create my octo-commit-merge-thing how do i tell git what the branch name is? (so that i can later rename it to master)19:57
SethRobertson nakkor: I would call it a bug.19:57
kanzure: git branch new-master <SHA>19:58
Luyang SethRobertson: thanks!19:58
nakkor SethRobertson: thanks for helping me pin down that bug19:59
SethRobertson nakkor: This is where I should encourage you to submit a patch to the git mailing list20:00
nakkor SethRobertson: I will give it a go20:00
urkud_ joined20:00
NfNitLoop Hmm. Someone was claiming that bzr was better at storing/versioning large binary files. and I see Linus being quoted admitting as much here: http://stackoverflow.com/questions/984707/what-are-the-git-limits/984973#98497320:01
But how is that the case?20:01
Doesn't the file just get stored as a blob like everything else?20:01
I mean, merging would suck, but I don't expect that's any better in bzr.20:01
DrNick git expects to be able to mmap the whole file when doing the SHA-1 calculation20:01
which gets real painful on 32-bit Linux with the 3 GB address space, and even worse on Windows with the 2 GB address space20:02
SethRobertson git-annex is a current way some use to work around the problem20:02
juanjoc_ joined20:03
pedrobelo joined20:03
NfNitLoop Hmm. Can't SHA-1 calculate from a stream? Does it really need the file in-memory?20:03
DrNick Yes. No.20:03
patches accepted, I'm sure20:03
wereHamster NfNitLoop: feel free to submit patches.20:03
NfNitLoop heh.20:03
jrmuizel joined20:04
NfNitLoop Ok. But as an analysis of the current state of git and bzr, I guess that's a point against git. (assuming bzr doesn't do that.)20:04
yrlnry It's probably not a tough patch.20:04
Tommy[D] left20:04
NfNitLoop but... it seems git's storage model would actually be better for large binary files.20:04
since it doesn't attempt to store lots of deltas.20:04
SethRobertson People are working on this problem20:04
Tommy[D] joined20:05
wereHamster NfNitLoop: it does not at the time you run git add, but it'll try eventually20:05
NfNitLoop wereHamster: when? When it calculates deltas to send in the git protocol?20:05
SGulseth joined20:05
wereHamster also, compression will suffer if you wont' let git do delta compression20:05
NfNitLoop: when git creates a pack20:06
NfNitLoop aah.20:06
stringoO left20:06
NfNitLoop Hmm. I guess I thought the pack file was just like a giant zip file.20:06
is it doing something more intelligent?20:06
wereHamster yes. delta compression20:06
NfNitLoop Oh. I suppose I should read up on that more.20:06
etag joined20:06
wereHamster if it was just a zip file (which would be useless as git already compresses individual objects), you would never bi able to get the compression ration that git has20:07
F1x joined20:07
wereHamster delta compression >> zip/gzip/bzip2 etc.20:07
Jippi_mac joined20:08
engla then add some smart heuristics in which order to pack the objects and you get git's packed format20:08
drizzd well, zip/gzip/bzip2 do delta compression too20:08
NfNitLoop drizzd: that's what I thought...20:09
bcardarella left20:09
wereHamster can you extract individual parts form a large zip file?20:10
homa_rano yes20:10
wereHamster what about gzip/bzip2?20:10
SethRobertson Just not random access20:10
homa_rano but in return the individual files are not diffed against each other, as they kinda are with tar.*z20:10
bushwakko left20:11
etag left20:11
iaj left20:13
homa_rano so I see that the sha1sum of a file's contents is not the same as that of its blob... what else is in there?20:13
aresnick joined20:13
DrNick a header describing what kind of object it is20:13
engla homa_rano: a header, it's a short type signature, the data length and then the data.20:13
wereHamster homa_rano: http://progit.org/book/ch9-2.html20:14
-> Object Storage20:14
homa_rano huh, I had assumed the type of an object came from context20:14
Manifesto joined20:14
homa_rano so if you happened to have a file that was the same contents as a tree, it would be the same20:14
wereHamster no20:14
Hutch[S]|awayHutch[S]20:14
homa_rano good to know20:14
wereHamster because the blob has a blob prefix and tree a tree prefix20:14
hence the prefix in the object..20:15
engla homa_rano: there is nothing to win there anyway20:15
wereHamster (by prefix I mean the type in the object header..)20:15
homa_rano it seems perfectly reasonable to make it work without the typing header, what are the advantages that I'm not seeing?20:15
wereHamster also, you can't deduce the object type from the context. If you have a tag which tags object deadbeef, how do you know whether it's a commit, tree or blob (or even another commit)?20:16
homa_rano you can tag trees and blobs?20:16
question answered20:16
wereHamster and if you have a ref which refers to an object, how do you know wheter' it's a tag or commit?20:16
engla homa_rano: "git checkout deadbeef" -- it's good to quickly know if that hex is a commit or not20:16
wereHamster git cat-file -t deadbeef20:17
HG` joined20:17
_ollie joined20:17
stringoO joined20:17
homa_rano I would assume git checkout would always take a commit20:17
but apparently various commands are not as strictly typed as I thought20:17
engla homa_rano: uh, it would just be strange to speculatively parse a blob and see if it has a commit header20:18
homa_rano followup question: how are tags represented in git?20:18
wereHamster homa_rano: annotated or lightwight tags?20:18
xiong joined20:18
homa_rano the ones that get cloned20:18
wereHamster engla: exactly. what if you have a file which begins with 'tree <...>'20:19
homa_rano: both..20:19
drizzd_ joined20:19
homa_rano ok then, lightweight20:19
p3rg2z joined20:19
wereHamster homa_rano: there are two types of tags. lightwight tags are just branches, they point to the object they tag (usually commit). Annotated tag have their own object (tag object) which contains a comment and the name of hte object it's tagging20:19
s/just/just like/20:20
homa_rano and all these are explicitly passed in a clone?20:20
wereHamster how do you mean explicitly passed?20:21
git clone gets a list of all refs in the remote and fetches them20:21
homa_rano are these annotated tag objects ref'ed then?20:21
wereHamster yes. You can't know what refs/tags/foo refers to until you actually open that object20:22
homa_rano ok, thanks20:22
I'm much more familiar with mercurial plumbing and this cleared a lot of things up20:22
WebDragon|laptop joined20:22
drizzd left20:23
steph021 left20:23
Eiler left20:23
Eiler joined20:23
yhager_yhager20:24
iaj joined20:24
ari-_-e left20:24
eletuchy left20:25
vitor-br left20:25
F1x :)20:25
aresnick left20:26
eagles0513875 left20:26
WebDragon left20:26
engla one of git's warts is that two different things hide behind "a tag". but I think tags in hg are worse..20:27
F1x wtf?20:28
foocraft joined20:28
phantomcircuit left20:28
FauxFaux I'd call "normal" tags (i.e. no flags to git tag) labels if perforce wasn't the worst thing ever and if people didn't like explaining branches as labels.20:29
albel727 left20:29
vitor-br joined20:30
homa_rano tags in hg were handicapped by wanting to preserve backwards compatibility20:30
thus being in a normal tracked file20:30
isaqual_ joined20:30
bcardarella joined20:30
HG` left20:30
sdecastelberg joined20:31
rayners_afkrayners20:31
engla backwards compatibility to what? just old hg you mean?20:31
F1x left20:32
homa_rano yes, so old hg servers could still represent tags20:32
same consideration for subrepositories20:33
kanzure SethRobertson: the last commit in my move series is a commit that didn't do anything; is it ok to use its tree id or should i use the tree id of a commit that did something20:34
WebDragon|laptopWebDragon20:34
programble joined20:34
programble left20:34
programble joined20:34
patmaddox left20:34
sh1m joined20:35
iaj left20:36
SethRobertson kanzure: If there is no difference in the tree, wouldn't the tree-id be the same? In any case, I have no insight there20:36
goshawk joined20:37
Tommy[D] left20:37
vitorpc joined20:38
fr0sty kanzure: what are you using tree-ids for?20:38
sh1mmer left20:38
sh1msh1mmer20:38
Tommy[D] joined20:38
ari-_-e joined20:38
albel727 joined20:39
jelmer left20:39
kanzure what should GIT_AUTHOR_DATE be in http://www.kernel.org/pub/software/scm/git/docs/git-commit-tree.html ?20:39
if i don't specify it for git-commit-tree is it auto-specified?20:40
rolfb joined20:40
vitor-br left20:40
kanzure gah it's the very next section in the docs20:40
i fail20:41
Dave^|| joined20:42
Dave^| left20:42
vitorpc left20:42
Dave^|| left20:43
pedrobelo left20:43
Dave^| joined20:43
pedrobelo joined20:44
eletuchy joined20:44
dl9pf joined20:44
dquestions left20:44
guardian left20:44
dquestions joined20:44
dl9pf_ left20:44
yairgo joined20:45
Hutch[S]Hutch[S]|away20:45
johnkw joined20:46
guardian joined20:46
iaj joined20:46
EricInBNE joined20:46
johnkw how do you navigate to annotate/blame on git's web?20:48
dogmatic69 gits web?20:49
ntoll left20:49
johnkw the web gui20:49
dogmatic69 oh, never seen it20:49
jeffxl joined20:49
jeffxl left20:50
johnkw --> http://git.kernel.org/?p=git/git.git;a=summary20:50
jeffxl joined20:50
FabianB joined20:51
dogmatic69 http://git.kernel.org/?p=git/git.git;a=blame;h=20db370b63a47b19e5f903b78af46ec8e709fa3720:51
cpg|awaycpg20:52
dogmatic69 just check it out and do a blame in shell maybe20:52
rayners left20:52
kanzure fr0sty: i'm doing something i shouldn't be doing and frankly i don't know how to describe it20:52
johnkw oh so that I guess means git's web has blame, but those guys disabled it so the links are gone?20:52
kanzure SethRobertson: does this sound right? git rebase --onto new-master c51e8ac09e8e90acf7a9bdbd06ff9be22c486515..HEAD (c51e is the "ultimate commit")20:52
FabianB__ left20:52
mikepack joined20:53
gnufied left20:53
theoros you can't specify revisions like that afaik20:54
mabrand left20:54
acalbaza joined20:54
theoros git rebase --onto X A B moves ^A..B onto X20:54
uh, ^A B20:54
acalbaza if i want to revisit an old state using a sha, i can use git reset --hard <SHA>... how do i get back to the current state after doing this?20:55
kanzure what does ^A B represent20:55
Mannequin joined20:55
theoros kanzure: man git-rev-parse20:55
wereHamster kanzure: everything reachable from B but not A20:55
jast kanzure: the 'git-rev-parse' manpage can be found at http://git.or.cz/man/git-rev-parse [automatic message]20:55
kanzure thanks20:55
theoros ctrl-f for "specifying ranges"20:55
noahcampbell left20:56
bartek joined20:56
theoros acalbaza: don't reset20:56
acalbaza: git checkout COMMIT, but your head will detach20:56
git checkout -b something_awesome COMMIT if you want to work off that old state20:57
kanzure ah clever.20:57
theoros: if i do ^A B then B can be any arbitrary commit after A?20:57
bartek Hi. Any reason I can't do git rebase -i on a git-svn repo? I try it, and it just shows me the usage for rebase20:57
kanzure theoros: and it would be the same effect/meaning?20:57
boombatower left20:57
theoros it doesn't have to be "after" A20:57
B can in fact be the tip of some branch off A~100020:58
Luyang left20:58
stringoO left20:58
wereHamster bartek: what's the exact commandline?20:58
bartek git rebase -i20:58
parasti bartek: "git rebase -i" will show you the usage, because that's not a complete command20:58
wereHamster bartek: that rightfully should display the help message20:58
theoros kanzure: in which case git rev-list ^A B would be the list of commits sitting on that branch20:59
bartek hm, I'm misunderstanding something then20:59
fowlduck joined20:59
wereHamster bartek: git rebase [-i | --interactive] [options] [--onto <newbase>] <upstream> [<branch>]20:59
theoros (using "branch" in human-ish terms, not git-model terms)20:59
boombatower joined20:59
wereHamster bartek: <upsteam> is a mandatory argument20:59
boombatower left20:59
boombatower joined20:59
acalbaza can i get back to the current state after a reset though? say i stashed my changes and want to get back to the head in the repo?20:59
bartek wereHamster: Sorry, what would upstream be in this context?20:59
theoros acalbaza: yes but if you want to get back to the state, don't reset20:59
bartek An example, perhap20:59
wereHamster bartek: maybe you want 'git svn rebase' ?21:00
theoros the use of "<upstream>" is exactly why it took me a month to understand what git rebase --onto does21:00
wereHamster bartek: upstream is a commit-ish21:00
bartek wereHamster: Didn't know that existed "Unable to determine upstream SVN information from working tree history"21:00
commit-ish?21:00
wereHamster bartek: are you sure it's a git-svn clone?21:00
PeaMan left21:00
parasti maybe tell us what you want to achieve21:01
bartek wereHamster: Yes .. I can run git svn fetch on it, and I cloned it from an SVN repo21:01
wereHamster bartek: do any commits in the log contain a 'git-svn-id' line?21:01
theoros what branch is currently checked out?21:01
PeaMan joined21:01
eletuchy left21:01
spuz joined21:02
bartek parasti: Basically, got a massive repo. I tried using git filter-branch to remove commmits from a specific dir but it ran for ages. I'm thinking now I just want to rebase the repo to the last 2,000 commits, for example21:02
theoros: master21:02
marcob left21:02
bartek wereHamster: Doing "git log", I do not see git-svn-id21:02
wereHamster bartek: did you do the clone with '--no-metadata' ?21:02
khmarbaise left21:02
opalka left21:03
bartek wereHamster: Erm, yes.21:03
psoo left21:03
wereHamster alright, you'll have to use git rebase then and figure upsream on your own21:03
bartek How would I figure that out .. ?21:03
parasti well, if you want to shorten the history...21:04
johnkw left21:04
wereHamster bartek: read the description of man git-rebase21:04
jast bartek: the 'git-rebase' manpage can be found at http://git.or.cz/man/git-rebase [automatic message]21:04
bartek thanks21:04
wereHamster go step by step through it, and then apply it to your situation21:04
parasti you could fake the parents of the new root commit with grafts21:04
jelmer joined21:04
parasti and then finalize with filter-branch once all looks good21:04
enherit left21:05
parasti I don't think anything of this sort can be done with rebase21:05
bartek Ok, I figured out the upstream thing.21:06
noahcampbell joined21:07
kar8nga left21:07
doener left21:07
theoros left21:09
rayners joined21:09
d0k left21:09
hobodave joined21:11
bartek I'm reading that when doing git svn fetch, I can specify the last X number of commits, but I can't see a flag for this in the git-svn docs?21:11
eletuchy joined21:11
bartek Oh, found git-svnimport21:11
wereHamster bartek: man git-svn -> OPTIONS -> -r21:12
jast bartek: the 'git-svn' manpage can be found at http://git.or.cz/man/git-svn [automatic message]21:12
juanjoc_ left21:12
bartek wereHamster: Ah, I'm reading the docs wrong .. was looking at the sub commands, rather than the global options .. Thanks21:12
isaqual_ left21:13
homa_rano what's the easiest way to ask git if commit abcdef is an ancestor of commit deadbeef?21:13
dunpeal joined21:14
Adaptee joined21:14
theoros joined21:14
alberto56 joined21:14
gnufied joined21:14
fr0sty homa_rano: git log 'deadbeef..abcdef' will be empty21:15
bartek Reading through blogs, seems like everyone does an svn->git conversion a little bit differently21:15
fr0sty if there is a tag at deadbeef 'git tag --contains abcdef' will print the tag21:15
kanzure theoros: git rebase --onto new-master ^hash HEAD tells me "Fatal: needed single revision"21:15
fr0sty a branch at deadbeef would be shown with git branch --contains abcdef'21:15
NfNitLoop bartek: Yep, there seem to be a lot of methods. The best one I found by far was svn2git: http://gitorious.org/svn2git21:15
iaj left21:15
dunpeal Hi. We have a tag "version-1". Users wants to build and run the code from that version. Should I tell them to `git checkout foo` or `git reset --hard foo`?21:16
homa_rano fr0sty: I'm implementing this in a script, and I don't really want to parse log output...21:16
bartek NfNitLoop: Thank you, will look into that as well21:16
fr0sty homa_rano: 'git merge-base abcdef deadbeef' will equal abcdef21:16
NfNitLoop bartek: I actually have a to-do on my plate to write a blog post about our svn->git conversion, since I seem to have done it rather smoothly. :p21:16
iaj joined21:16
WebDragon|laptop joined21:16
davr bartek: I think it's because SVN is more flexible, and so it's hard to build a one-size-fits-all converter. so sometimes you need some manual work to map things across21:16
theoros kanzure: it's git rebase --onto X A B21:16
ph^ left21:16
fr0sty homa_rano: the merge-base is probably cleanest, then.21:16
theoros kanzure: meaning onto X, put ^A B, as git rev-list knows it21:16
davr personally I filtered the SVN repo a bunch first, getting it into the state I wanted, and then converted to git21:17
theoros kanzure: it's a different syntax21:17
NfNitLoop bartek: careful, though, there's another project (or more?) w/ the name svn2git.21:17
Eiler left21:17
kanzure theoros: ah.21:17
alberto56 left21:18
homa_rano fr0sty: thanks21:18
kanzure theoros: nope even when i remove '^' it still tells me Fatal: needed single revision21:18
toxictux joined21:18
ph^ joined21:18
theoros kanzure: what is HEAD? git rev-parse HEAD21:18
or uh, git name-rev HEAD even21:19
kanzure theoros: 05c42cde046dcb6942e926e9cf1eb3e55d96242b21:19
HEAD master21:19
toxictux hi i fail in using eclipse + egit + github im very noobish in git. why cant i see my commits on github?21:19
theoros what hash is the one you're trying to go back to?21:19
kanzure theoros: 79102f867b7e5792ef0c49179f9fe09270ef0ffd21:19
dunpeal `git checkout version-1` seems more correct since there's no reason to change the master reference (as reset --hard does). It's also easier to get back to the normal state: just `git checkout master`. OTOH, `git checkout <tag>` gets user to a detached HEAD, which I'm not sure I want to get my users into since they're all Git newbies.21:19
wereHamster toxictux: did you push the commits?21:19
kanzure theoros: i'm on master, new-master is where i'm reconstructing my history21:19
WebDragon left21:19
theoros kanzure: weird..21:20
WebDragon|laptopWebDragon21:20
toxictux wereHamster, i see ^^ i only used svn, rcs and cvs before so git has also push21:20
wereHamster kanzure: can you paste the exact command you're using?21:20
opalka joined21:20
kanzure wereHamster: git rebase --onto new-master 79102f867b7e5792ef0c49179f9fe09270ef0ffd 05c42cde046dcb6942e926e9cf1eb3e55d96242b21:20
Eiler joined21:21
wereHamster kanzure: and all those commit names resolve without errors (git rev-parse <..>)21:21
?21:21
rajeshsr left21:21
foocraft left21:22
DaveIngram joined21:22
kanzure wereHamster: yes21:22
dunpeal wereHamster: seen my question above? :)21:22
wereHamster what about 79102 .. ? and new-master ?21:22
theoros kanzure: git rev-list ^new-master master | wc -l; git rev-list ^79102f867b7e5792ef0c49179f9fe09270ef0ffd master | wc -l21:23
Eridius joined21:23
kanzure wereHamster: master21:23
crap21:24
sorry my screen session is getting laggy21:24
toxictux wereHamster, hm i get this dialog and i have now clue what do do http://imagebin.org/12549521:24
kanzure fatal: bad revision '^new-master'21:24
wereHamster toxictux: there are drop down menus, what's in them?21:24
toxictux: 'git rev-parse new-master'21:24
MikhX joined21:24
AlexanderS left21:24
wereHamster toxictux: also, http://progit.org21:25
bushwakko joined21:25
kanzure git rev-parse new-master -> fatal: ambiguous argument 'new-master': unknown revision or path not in the working tree.21:25
theoros kanzure: do you actually _have_ a new-master branch?21:25
clearly not21:25
bushwakko left21:25
kokx left21:25
kanzure theoros: oh it's remotes/origin/new-master21:25
sigh21:25
isaqual_ joined21:26
wereHamster kanzure: new-master != remotes/origin/new-master21:26
kanzure i had to git clone because i didn't have a working directory21:26
theoros get yourself a remote-tracking branch21:26
wereHamster or --onto remotes/origin/new-master21:26
kokx joined21:26
wereHamster (maybe --onto origin/new-master)21:26
kanzure or i can just get all of these branches21:26
toxictux wereHamster, the drop boxes contain "HEAD" and "master[branch]"21:26
wereHamster toxictux: pick one21:26
toxictux wereHamster, k21:27
yngress left21:27
mw joined21:29
piotr_ is there a way to change master branch?21:29
I have another branch which I'd like to be master now21:29
smolyn left21:29
piotr_ and throw away changes in master since the branch with branch 'b'21:29
wereHamster piotr_: you can rename branches (-m_21:30
winterweaver joined21:31
kanzure "First, rewinding head to replay your work on top of it..."21:31
hm how long will this take21:31
smolyn joined21:31
wereHamster 0.nothign seconds21:31
kanzure uh21:31
it's been a few minutes21:31
wereHamster oh. Then it's longer21:31
kanzure is it proportional to the number of files? commits?21:32
theoros how many commits are there you're rewinding over?21:32
size of changes21:32
kanzure i'd guess about 5k to 10k commits21:32
theoros haha21:32
mmc joined21:32
theoros i mean i guess that'd tak a while.21:32
+e21:32
kanzure i think these guys are crazy for commiting 50,000+ files at once21:33
(on a frequent basis)21:33
theoros ..seriously?21:33
piotr_ nice121:33
kanzure yeah they seem like the same files over and over again21:33
theoros do they know what granularity is at all?21:33
AlexanderS joined21:33
piotr_ who commits 50K files?21:33
Eridius someone who tracks their minecraft save in a git repo?21:35
Hutch[S]|awayHutch[S]21:36
berkes left21:36
kanzure hm i got a merge conflict.. but when i check the file there's no merge markers added or anything21:36
something about a delete?21:36
wereHamster kanzure: what does git diff show?21:36
kanzure git rebase --continue doesn't give me as much info as it once did21:37
wereHamster: ah, checking21:37
berkes joined21:37
kanzure git diff says * Unmerged path cad/src/DnaGeneratorDialog.py21:37
nohk left21:37
nohk joined21:37
nohk left21:38
wereHamster nothing else?21:38
nohk joined21:38
friskd left21:38
berkes left21:38
wereHamster that looks more like output from 'git status'21:38
welly joined21:38
gusnan left21:39
kanzure nothing else21:39
i'm in the middle of a rebase21:39
dunpeal left21:39
kanzure git status says: # deleted by them: cad/src/DnaGeneratorDialog.py21:40
SethRobertson kanzure: was ca/src/DnaGeneratorDialog.py the last file added (or deleted) during the move activity?21:40
patrikf kanzure: yeah, so you add or rm depending on whether you want that file in or not21:41
SethRobertson Or more usefully, if you checkout the "A" commit, does that file exist? And does it exist if you checkout new_master?21:41
cilly left21:42
mw left21:42
Best_ joined21:43
kanzure SethRobertson: i have no idea what's going on at the moment21:43
SethRobertson: what two commits am in between?21:43
*am i in between21:43
SethRobertson I sure have no idea. Perhaps you should abort the rebase and reconsider21:44
cbreak git log shows you the past21:44
shentino interestingly enough slashdot just posted an article about rebasing21:44
cbreak shentino: no21:44
it posted an article about an addvertisement for some crap SCM21:44
kanzure aha i see21:44
s0ber joined21:44
kanzure SethRobertson: there's some new commits in `git log`21:45
SethRobertson: so should i assume right now i am at the latest commit that `git log` shows? (other than my merge commit that i made earlier)21:45
JEEB left21:45
mlq left21:45
SethRobertson I have no idea what happens when you are in the mists of a failed rebase.21:46
mikepack left21:46
JungleSavvy left21:46
SethRobertson What you said sounds reasonable, but...21:46
kanzure maybe i selected the first hash parameter on git-rebase all wrong. i chose the first svn commit (the one after the commit from which i took the tree id)21:46
SethRobertson kanzure: Which is why I recommended --abort and reconsider21:47
jauler_ left21:48
JungleSavvy joined21:49
kanzure SethRobertson: i have a copy of the git repo from before the rebase started,21:49
and it looks like the next commit is one where this file is renamed21:49
Yuffster left21:49
SethRobertson kanzure: Specifically I believe that `git diff new_master A` should be absolutely identical21:49
steph021 joined21:49
SethRobertson well, git diff should return no differences.21:50
kanzure so if this file is renamed why is rebase/status asking me to delete it21:50
SethRobertson And entirely possibly the git-tree hash should be the same for those twocommits21:50
I'd like to confirm my identity theory before wondering why it failed21:50
kanzure ok one sec21:50
phantomcircuit joined21:51
kanzure SethRobertson: git diff new-master A -> there's one line that is changed (variable name change)21:51
SethRobertson So what commit did you get the tree-id from?21:52
That is the commit SHA you should be using for "A".21:52
toxictux wereHamster, ty for the help cant get it to work, but git push on console works and thats enough21:52
ooooPssss joined21:53
kanzure SethRobertson: "that is the commit SHA you should be using for A" on this git diff or on the git rebase call?21:53
SethRobertson Both21:53
kanzure oops :(21:53
dbbnj left21:53
stringoO joined21:53
dbbnj joined21:54
kanzure trying again :)21:54
balrok joined21:56
balrok left21:56
fedesilva left21:56
goshawk left21:56
kanzure oh lovely some of the commit messages are blank. i didn't even notice21:56
jaql left21:57
cannonball left21:57
flazz left21:58
JEEB joined21:59
JEEB left21:59
JEEB joined21:59
cbreak bad commiter, bad!22:00
find out who made them and poke that person with something pointy and/or burning22:00
or just drop the commit, can't be useful if it's not interesting enough for a message ;)22:00
jauler_ joined22:01
kanzure i choose both.22:01
pedrobelo left22:01
pedrobelo joined22:02
schacon joined22:03
_ollie left22:03
Hutch[S] left22:03
mmw joined22:03
ymasory left22:04
phantomcircuit_ joined22:06
stringoO left22:06
p3rg2z left22:06
Eaven left22:06
unreal left22:08
nohk left22:08
phantomcircuit left22:09
GCS joined22:10
yairgo left22:11
Dashkal joined22:11
genomega left22:12
Dashkal Is there a list anywhere discussing "git server" packages?22:12
banisterfiend joined22:13
unreal joined22:13
iaj left22:13
bremner what are they?22:13
nohk joined22:14
patrikf https://git.wiki.kernel.org/index.php/InterfacesFrontendsAndTools22:14
acs joined22:14
toxictux left22:15
opalka left22:15
acalbaza left22:15
Dashkal danke22:16
sdecastelberg left22:16
iaj joined22:19
dj_tjerk anyone experience with gitolite's "personal branch" stuff22:19
Dashkal looks like I have Gitorius, gitosis, and gitolite for options. Thanks much *commenses research*22:19
Guest67408 left22:21
Mage joined22:21
bremner dj_tjerk: I have used it.22:21
dj_tjerk i get some errors after git tells me it successfully pushed/created the remote repo22:22
"error: unable to resolve reference refs/heads/....: Not a directory"22:22
and that it cannot lock the ref22:22
refs/heads/personal/tjerk/develop for instance22:23
kpreid left22:23
dj_tjerk hmm22:23
genomega joined22:24
nohk left22:24
bremner dj_tjerk: does it work for other kinds of pushes?22:25
sonnym left22:25
wereHamster dj_tjerk: does the remote contain a ref refs/heads/personal/tjerk or refs/heads/personal ?22:25
sixteneighty left22:26
tatsuya joined22:26
tatsuya left22:26
WebDragon left22:26
dj_tjerk i just switched to calling it "personal" instead of "develop" and that seemed to fix things :?22:26
SGulseth left22:26
pigdude left22:26
nohk joined22:26
dj_tjerk imma go back to breaking it :P22:26
wanna know if it's consistent or if i used to have a remote branch called develop in the past that confused git22:27
ChanServ set mode: +v22:27
Pupeno left22:27
wereHamster 'not a directory' sounds like you have a ref where git would require none22:27
q0rbanq0rban|afk22:27
metropolis joined22:27
fedesilva joined22:28
metropolis Is there any way to query a remote git server for the sha1 of master without having to do a full clone?22:28
wereHamster metropolis: man git-ls-remote22:28
jast metropolis: the 'git-ls-remote' manpage can be found at http://git.or.cz/man/git-ls-remote [automatic message]22:28
Dave^| left22:29
guardian left22:29
sh1mmer left22:30
ch077179 joined22:31
bartek left22:32
p4tux joined22:33
bronson left22:34
fedesilva_ joined22:34
SGulseth joined22:34
fedesilva__ joined22:38
fedesilva left22:38
fedesilva__fedesilva22:38
kpreid joined22:38
kanzure SethRobertson: the rebase has completed, but git branch tells me i'm on "no branch", what do i do?22:39
bronson joined22:39
jason237 joined22:39
fedesilva_ left22:40
fedesilva_ joined22:40
Yuffster joined22:41
letas joined22:42
spaceonline left22:42
fedesilva__ joined22:42
letas quick question: how can I ignore all files inside a directory? I want to ignore just files the dirs inside that dir should remain tracked22:43
is that even possible?22:43
fedesilva left22:44
fedesilva__fedesilva22:44
pantsman left22:44
cbreak git can not ignore tracked stuff22:44
NfNitLoop letas: assuming your files have extensions and your dirs don't, you could ignore /*.*22:45
tjholowaychuk left22:45
cbreak git can not track directories22:45
drizzd_ cbreak: well, there is sparse checkout and --assume-unchanged, but I'll not go into that since I have to go.22:45
cbreak gitignore supports unignore with !22:46
wrong22:46
NfNitLoop ooh, handy.22:46
DrNick "*" and "!*/" doesn't work22:46
cbreak it's more * and !*/*22:46
but I'd anchor it to /22:46
nohk left22:46
fedesilva_ left22:47
DrNick x and x/ aren't the same thing, logically * and */ shouldn't be either22:47
rotham joined22:47
rotham hey... how do I update my local repository from the remote one?22:47
ben_h joined22:48
ben_h hi all22:48
cbreak fetch and merge22:48
ben_h i'm looking for a command like 'git log --pretty=format:%s', but for just one commit22:48
instead of its ancestry22:48
cbreak show22:48
svnlto joined22:48
ben_h right, but show also shows the diff22:49
i can't find an option to disable it22:49
cbreak pick a different format?22:49
FsTluxe left22:49
JungleSavvy left22:49
ben_h i mean 'git show --pretty=format:%s' shows the output i want, followed by the diff22:50
SethRobertson kanzure: Still lost without a branch?22:50
JungleSavvy joined22:50
cbreak or you can always use git log with -n22:51
ben_h yeah i was thinking that might be the best option22:51
just thought there might be a better way22:51
cheers22:51
letas NfNitLoop I tried that before and it didnt work :-(22:51
lightcap left22:51
kanzure SethRobertson: nah i fixed it (i think)22:52
Destos left22:52
SethRobertson So you are all happy happy with a nice history now?22:52
kanzure SethRobertson: but now i'm on master and looking at the logs for a few files.. and the only commit for that file is "Moved remotely"22:53
blast_hardcheese joined22:53
kanzure oh crap i should have merged to new-master22:53
__name__ joined22:53
ymasory joined22:53
kipras left22:54
mlq joined22:55
NickyP left22:56
kanzure SethRobertson: so when i run git log on a file that hasn't been updated since prior to the svn mvs, the only commit i see is my merge that i created22:56
JungleSavvy left22:56
SethRobertson DId the file in question get renamed during the merge?22:57
letas left22:57
cbreak -C -M22:57
tbf joined22:57
psoo joined22:57
SethRobertson kanzure: ^^22:58
kanzure SethRobertson: it may have been moved. git show my-merge-id shows that the diffs are only adding files22:58
cbreak: yeah it's still only showing my merge commit as its only commit22:58
foocraft joined22:58
sonnym joined22:58
SethRobertson Use those flags22:58
kanzure i did22:58
git log -C -M some_file22:58
SethRobertson Try mucking with the number for -M22:59
Or -C, whichever22:59
--find-copies-harder (if you have it) might also be helpful22:59
rolfb left22:59
kanzure SethRobertson: i'm not sure how it would find the copies.. the diff for my merge-commit that i created has no ^- lines.23:00
ch077179 left23:00
kanzure so i don't think it would know that the file was ever moved23:00
SethRobertson kanzure: Also check diff.renameLimit and diff.renames23:01
A rename that is part of a merge may be challenging, yes23:01
If you do a `git log` on the old pathname does it pick up the older changes?23:01
kanzure are you sure diff.renames etc. is the problem here? the commit on my fake-constructed-merge is really odd23:03
the origin for all of the files are --- /dev/null23:03
JungleSavvy joined23:03
wereHamster so called 'evil merge'23:03
kylehayes left23:04
kanzure should i fix my constructed merge?23:06
there's something clearly wrong with the diff23:06
kanru joined23:06
kanzure diffing against /dev/null is the easy way out23:07
SethRobertson I'm not sure the diff against /dev/null is showing a problem, actually23:07
Did you try my suggestion of a `git log` on the old pathname?23:07
rudi_s joined23:08
Borbus joined23:08
kanzure SethRobertson: git log says the path is not in the working tree.. which makes sense, since it's not23:09
Helios- joined23:09
sshc joined23:09
kanzure so i've confirmed that the files were also moved in their general path23:10
originally in branch "sim" the file was at doc/TablesforBsdata.xls and then in trunk they put it in sim/doc/TablesforBsdata.xls23:10
SethRobertson kanzure: git log -- old/path/name23:10
p4tux left23:10
kanzure SethRobertson: empty/nothing23:10
SethRobertson Odd.23:11
smolyn_ joined23:11
zakuni_ joined23:11
kanzure SethRobertson: remember, the last commits in "sim" were deletes, dunno if that matters23:11
SethRobertson When you visualize with `gitk --all` does it show the merge?23:11
winterweaver left23:11
kanzure gitk is unavailable and i don't want to spend a few hours cloning this to my machine23:12
tizbac left23:12
smolyn left23:13
isaqual_ left23:13
kanzure is there something else i can do? i see my merge in git log23:13
hmm i screwed up somewhere.23:14
SethRobertson kanzure: git log --graph23:14
flaguy48 left23:15
SethRobertson Still, gitk is pretty nice. I would set up an ssh X forwarder (assuming the remote system was *nix)23:15
kanzure yes it's definitely merging according to git log --graph23:16
eft_ guys, I just want to report back on my success with git diff23:17
kanzure oh man i've really screwed something up23:17
mmw left23:18
kanzure the latest commit (prior to my involvement) is now showing up under my merge commit, which is all wrong23:18
kanzure goes back to rebase23:18
eft_ wereHamster's initial advice to use "git diff --cached" worked well for a comparison between staged revision and my last commit23:19
phantomcircuit_ left23:19
phantomcircuit joined23:19
JungleSavvy left23:20
eft_ I also experimented with creating a new branch and committing my revisions to that branch and then git diff master branch and that worked well also23:21
so thanks for all the help especially to wereHamster :)23:21
JungleSavvy joined23:22
__name__ left23:23
kanzure SethRobertson: just to be clear.. when i run git rebase --onto i should be on branch master, right?23:23
SethRobertson If you give all three arguments, I don't think it matters23:24
The last argument should probably be "master" instead of "HEAD" though23:24
kanzure ok23:25
beatak left23:26
Mannequin left23:26
Mannequin joined23:26
KU0N left23:28
kanzure SethRobertson: if i end up on no branch, what should i do? last time i guessed: git merge (commit id of latest head on master)23:28
engla left23:29
btf joined23:29
warbee left23:29
SethRobertson kanzure: If you said `git rebase --onto new_master A master` it should have left you on new_master23:29
psoo left23:29
SethRobertson Merge onto master is most likely the wrong approach23:30
KU0N joined23:30
SethRobertson Where in that statement, "A" is a SHA. The others are literals23:30
LostAcapulco_ joined23:30
jpr5 rebase strikes again.23:30
Schmallon left23:30
kanzure where A = the id of the commit whose tree id i used for the tree id of my merge commit?23:31
LostAcapulco_ left23:32
LostAcapulco joined23:32
coderdad left23:33
dogmatic69 left23:34
spuz left23:34
SethRobertson Yes23:34
xiong left23:35
flaguy48 joined23:35
rsewill joined23:36
Destos joined23:38
DaveIngram left23:38
LostAcapulco left23:39
LostAcapulco joined23:39
Ryback_ left23:39
LostAcapulco left23:40
LostAcapulco joined23:41
towski_ joined23:41
kanzure rebasing still in progress..23:42
brosner joined23:42
towski left23:44
cpgcpg|brb23:44
__name__ joined23:45
ajpiano joined23:45
timj_ joined23:46
timj_timj23:46
boombatower left23:49
tbf left23:49
bitkiller left23:52
rchavik joined23:52
rchavik left23:52
rchavik joined23:52
eletuchy left23:56
kanzure SethRobertson: well. i'm out of ideas23:56
SethRobertson: git config --get diff.renames returns nothing23:57
SethRobertson kanzure: The rebase finished and you were not on nobranch?23:57
kanzure rebase finished and i was on master23:57
SethRobertson kanzure: Read man git-config to set additional values.23:57
jast kanzure: the 'git-config' manpage can be found at http://git.or.cz/man/git-config [automatic message]23:58
SethRobertson kanzure: The documentation I read said that you should be on new_master after the rebase23:58
The current branch is reset to <newbase> if the --onto option was supplied.23:58
fr0sty-away left23:59

Logs Search ←Prev date Next date→ Channels Documentation