| 2010-11-30 |
| → fr0sty-away joined | 00:00 |
| ← cannonball left | 00:00 |
| → hyperair joined | 00:01 |
| ← spaceonline left | 00:01 |
|
SethRobertson
| smolyn: I made an example using numbers and it works exactly the same. I can provide my example if you want | 00:01 |
| ← Tommy[D] left | 00:02 |
| → an0maly joined | 00:02 |
| → doctrine_noob joined | 00:03 |
| ← chrischambers left | 00: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 left | 00:04 |
| ← Scala_ left | 00: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_ joined | 00:05 |
| → SethRobertson joined | 00:06 |
| ← tewecske left | 00:06 |
| phantomcircuit → muhammed | 00:08 |
| ← aphelion left | 00:10 |
| → chrischambers joined | 00: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 joined | 00: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 master | 00: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 left | 00:12 |
| ← thiago_home left | 00: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 output | 00: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 preserved | 00:13 |
|
smolyn
| exact same method of commits in both cases, so git describe must have some special voodoo re: #'s vs strings | 00:13 |
|
kanzure
| SethRobertson: well, the only prior commits are other "merges" | 00:13 |
|
| SethRobertson: i.e. similar things that need to be fixed | 00:13 |
|
| SethRobertson: so there's an initial one at some point. | 00:13 |
| ← Eaven left | 00:13 |
|
SethRobertson
| smolyn: I have an example which has the same behavior (and not the one you apparently want) for 1.1 and v1.1 | 00: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 commit | 00:14 |
| muhammed → phantomcircuit | 00:15 |
|
kanzure
| hmm | 00:15 |
| ← kanru left | 00:15 |
|
smolyn
| huh, damn. now that makes me more confused then ever. | 00:15 |
|
kanzure
| hopefully they don't conflict | 00: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 merge | 00:16 |
|
| smolyn: If you want the example, let me know | 00:16 |
| → Tommy[D] joined | 00:16 |
|
kanzure
| neato | 00: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-order | 00:16 |
|
| Obviously delete the "v"s for the alternate | 00:16 |
|
smolyn
| thanks | 00:16 |
| ← zombor left | 00:18 |
| ← _psychic_ left | 00:18 |
| → mlq joined | 00:19 |
| ← mlq left | 00:19 |
| → mlq joined | 00:19 |
|
hachi
| how can I get the name of the upstream branch, if there is one? | 00:22 |
| → shiba_yu36 joined | 00:22 |
|
hachi
| if I say git rev-parse @{u} it will give me a hash | 00:22 |
|
| but not a name | 00:22 |
| ← mfacenet left | 00:22 |
|
hachi
| but symbolic-ref doesn't work with commitish, only symbolic ref names | 00:22 |
|
| (which is slightly understandable) | 00:22 |
|
| completely, even | 00:23 |
| ← tbf left | 00:23 |
| ← engla left | 00:24 |
| → smik```` joined | 00:25 |
|
hachi
| but then git config branch.master.remote and branch.master.merge need to be parsed with the remote.$remote.fetch line | 00:25 |
|
| to give me a local branch name | 00:25 |
|
kanzure
| SethRobertson: so an octopus-merge can serve as an initial commit to a branch? | 00:25 |
| ← smik``` left | 00:26 |
|
SethRobertson
| kanzure: I don't see any reason why not, but I have not performed any studies of initial commit subtles | 00: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 refspec | 00:27 |
|
hachi
| I don't think that will stay consistent | 00:27 |
|
Eridius
| what do you mean? | 00:28 |
|
| oh sorry, --abbrev-ref=loose | 00:28 |
|
| that will make it always give you the short form | 00:28 |
|
hachi
| if more than one branch happens to be sitting on that commitish | 00:28 |
|
| it will give me one of them | 00:28 |
|
| not necesarally the one I'm looking for | 00:28 |
|
Eridius
| hachi: hrm? This isn't using commitish's. It's using the current branch | 00:28 |
| ← banisterfiend left | 00:29 |
|
hachi
| @{u} is sorta implied to be a commitish | 00:29 |
|
Eridius
| @{u} doesn't operate on the current commit, it operates on what HEAD points to | 00:29 |
|
| nope | 00:29 |
|
hachi
| according to the rev-parse docs | 00:29 |
| → banisterfiend joined | 00:29 |
| ← krainboltgreene left | 00:29 |
|
Eridius
| @{u} is the same as HEAD@{u} | 00:29 |
|
hachi
| yes | 00:29 |
|
| but HEAD@{u} is going to be a commit | 00:29 |
|
Eridius
| in this case, it's dereferencing HEAD to a branch, not a commit | 00:29 |
| ← orafu left | 00:29 |
|
Eridius
| HEAD is a symbolic ref that points to a branch. It goes no further than that | 00:29 |
| → orafu joined | 00:29 |
| ← alvaro_o left | 00:30 |
| → alvaro_o joined | 00: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 variables | 00:30 |
|
hachi
| yes, but I figured since the command is rev-parse | 00:30 |
|
| it would be turning it into a revision | 00: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 commit | 00:31 |
|
Eridius
| nope | 00:31 |
|
| that's not how it works. rev-parse doesn't always transform the input into a commit | 00:31 |
|
| e.g. in the case of symbolic-full-name, it definitely doesn't | 00:31 |
|
| you can verify for yourself - `git rev-parse --symbolic-full-name $(git rev-parse HEAD)` will emit nothing | 00:31 |
|
hachi
| ok, sorry then | 00:32 |
| ← fedesilva left | 00:32 |
|
hachi
| thanks for the long explanation | 00:32 |
|
| I wasn't trusting this till now | 00:32 |
|
Eridius
| heh | 00:32 |
|
hachi
| I figured I was getting the right answer from rev-parse by chance | 00:32 |
|
| not by definition | 00:32 |
|
Eridius
| ah | 00:33 |
| ← priidu left | 00:33 |
| ← Heimidal left | 00:34 |
|
hachi
| so should I be using | 00:34 |
|
| git rev-parse --symbolic-full-name HEAD | 00:34 |
|
| instead of | 00:34 |
|
| git symbolic-ref HEAD | 00:34 |
|
Eridius
| possibly. The rev-parse version can let you say --abbrev-ref to get the short form if you want | 00:35 |
|
hachi
| yeah, there is that | 00: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 error | 00:35 |
|
hachi
| oh really, I thought HEAD contained a sha1 in that case... haven't tried that | 00:36 |
|
Eridius
| it does | 00:36 |
| ← icwiener left | 00:36 |
| ← banisterfiend left | 00:36 |
|
Eridius
| --symbolic-full-name prevents rev-parse from resolving down to a sha1 | 00:36 |
| → abetaha joined | 00: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 me | 00:37 |
|
Eridius
| symbolic-ref will throw an error because you gave it the name of something that's not a symbolic ref | 00:37 |
| ← leroux left | 00:37 |
| → leroux joined | 00: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 think | 00: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 ref | 00:38 |
|
| in general, none | 00:39 |
|
| you can create others, but HEAD is the only one that exists in a typical repo | 00: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 collection | 00:39 |
| → banisterfiend joined | 00:39 |
|
Eridius
| because you _can_ have other symbolic refs. It's just rather unusual | 00:39 |
| → Tuller joined | 00:39 |
| ← banisterfiend left | 00:39 |
|
hachi
| what can it be used for though... what uses them | 00:39 |
|
| gc isn't aware | 00:40 |
|
Eridius
| besides HEAD, I don't know | 00:40 |
| ← mabrand left | 00: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
| yeah | 00:40 |
|
| well hopefully does | 00:40 |
|
Eridius
| btw, the git-completion prompt apparently uses symbolic-ref, and falls back to using `git describe` if it fails | 00:41 |
|
hachi
| HEAD can point to a commit specifically | 00:41 |
|
Eridius
| in the case of a detached HEAD, HEAD is just like any other ref - it's no longer symbolic | 00:41 |
|
hachi
| and I would bet that gc will not destroy it in taht case | 00:41 |
|
Eridius
| gc considers HEAD a root, specifically for the case of a detached HEAD | 00:41 |
|
hachi
| though I'm not staking money on it | 00:41 |
|
| ok | 00:41 |
|
| is there another ref command? | 00:41 |
| ← Yuuhi left | 00:42 |
|
hachi
| ever since all the git commands got shuffled into a libexec dir or equivalent | 00:42 |
|
| I haven't been able to do git-[tab][tab] to see what commands exist :) | 00:42 |
| → banisterfiend joined | 00:42 |
| ← RobertMeta left | 00:42 |
|
hachi
| oh I see a few | 00:43 |
| ← beatak left | 00:44 |
|
Eridius
| hachi: you shouldn't ever be typing git-[something] anyway, except when talking about the commands | 00:44 |
| ← mw left | 00:44 |
|
Eridius
| use git [foo] instead, and install the git completion script in contrib/ | 00:44 |
|
hachi
| I know | 00:44 |
|
| I'm just saying that there's no fast way to get a list of git commands that I've seen | 00:44 |
| ← makubi left | 00:44 |
|
Eridius
| ls $(git --exec-path) | 00:44 |
|
hachi
| ahh, shellness | 00:45 |
|
Eridius
| or with the completion, you can use `git [tab]` | 00:45 |
| ← bitkiller left | 00:45 |
| → mdel joined | 00:46 |
| → tarikk joined | 00:46 |
| ← jarrod_ left | 00:46 |
| → codespectator joined | 00:47 |
| ← nakkor left | 00:48 |
| → MattDiPasquale joined | 00:50 |
| → RobertMeta joined | 00:51 |
| ← mdel left | 00:51 |
| ← airborn left | 00:52 |
| → mdel joined | 00:54 |
| ← noktoborus_ left | 00:55 |
| ← goshawk left | 00:58 |
| ← foocraft left | 00:58 |
| ← thiago__ left | 00:59 |
| → QinGW joined | 01:00 |
| → boombatower joined | 01:01 |
| ← TeckniX left | 01:01 |
| ← dreiss left | 01:02 |
| ← bronson left | 01:03 |
| → _psychic_ joined | 01:03 |
| → halfline joined | 01:04 |
| ← _psychic_ left | 01:04 |
| → drunkard joined | 01:04 |
| → Wyverald joined | 01:06 |
| → bronson joined | 01:07 |
| ← kelvie_ left | 01:07 |
| → foocraft joined | 01:11 |
| → kelvie_ joined | 01:11 |
| ← sako left | 01:13 |
| ← tjholowaychuk left | 01: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 left | 01:14 |
| → Jonathan__ joined | 01:14 |
| → Tuller_ joined | 01:16 |
| ← hyperair left | 01:17 |
| ← SimonP86 left | 01:17 |
|
bremner
| Titosemi: I don't understand your question, but I doubt it. | 01:18 |
| → brntbeer joined | 01:19 |
| ← Tuller left | 01:19 |
| → Dreamer3 joined | 01:19 |
|
bremner
| Titosemi: what do you mean "it made ff" | 01:20 |
| ← nd___ left | 01:21 |
|
Titosemi
| bremner: sorry, it was a wrong question | 01: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__ joined | 01:24 |
| ← mdel left | 01:25 |
| → ignatp joined | 01: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 joined | 01:28 |
| → Tianon joined | 01:28 |
| ← Tianon left | 01:28 |
| → Tianon joined | 01:28 |
|
banisterfiend
| is there a good git cheat sheet for intermediate users? | 01:29 |
| ← alvaro_o left | 01:30 |
| → kanru joined | 01:32 |
| ← MattDiPasquale left | 01:34 |
| ← steph021 left | 01:34 |
| ← Titosemi left | 01:36 |
| → hyperair joined | 01:36 |
| ← peterjmag left | 01:36 |
| ← aah left | 01:40 |
| ← Scala_ left | 01:42 |
| → pedrobelo joined | 01:42 |
| ← smolyn left | 01:43 |
| ← Dreamer3 left | 01:43 |
| ← Evious left | 01:43 |
| → nakkor joined | 01:43 |
| ← nakkor left | 01: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 commit | 01:46 |
| → itamarjp joined | 01:47 |
| → wliao joined | 01:47 |
|
SethRobertson
| an0maly: See man git-rev-parse, specifically the @{yesterday} syntax | 01: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 time | 01:47 |
|
an0maly
| thanks. | 01:47 |
|
| I'll look at the rev-parse. thanks | 01:48 |
|
frogonwheels
| an0maly: you can probably use git log --before=<date> -1 to find the commit | 01:48 |
| ← banisterfiend left | 01: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 when | 01:49 |
|
bremner
| an0maly: I suggests waterboarding | 01:49 |
|
an0maly
| (during the US holiday) | 01:49 |
|
bremner
| see? perfect, | 01:49 |
|
an0maly
| bremner: I concur | 01:49 |
|
Eridius
| you could use git bisect to find the bad commit | 01:49 |
|
frogonwheels
| an0maly: and then you can use bisect to narrow it down | 01:49 |
|
| :) | 01:49 |
| ← shwoodard left | 01: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 joined | 01:52 |
| → mdel joined | 01:53 |
| ← vitor-br left | 01:54 |
| ← tvw left | 01:54 |
| → banisterfiend joined | 01:57 |
| ← itamarjp left | 01:58 |
| → itamarjp joined | 02: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-friend | 02:03 |
|
frogonwheels
| banisterfiend: it doesn't make the directories the correct case in 7.3 but does in 7.2 | 02:04 |
| ← gebi left | 02:04 |
| ← RobertMeta left | 02:04 |
| ← amerine left | 02:04 |
|
banisterfiend
| frogonwheels: bug? | 02:04 |
| → mDuff joined | 02:04 |
| ← friskd left | 02:04 |
|
frogonwheels
| banisterfiend: well it breaks fugitive... | 02:04 |
| → gretch joined | 02: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 pointer | 02:05 |
| → friskd joined | 02:06 |
| → gretch_ joined | 02:06 |
| ← abetaha left | 02:06 |
|
Eridius
| mDuff: there's some examples in the man git-rev-parse documentation for the @{} format | 02: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_ left | 02:07 |
|
Eridius
| just search for "yesterday" | 02:07 |
| ← friskd left | 02:07 |
|
SethRobertson
| I might wildly guess that it uses the GNU date parser | 02:07 |
| ← gusnan left | 02:07 |
| → Cocytuz joined | 02:08 |
|
banisterfiend
| if i go: git checkout -b mywork origin | 02: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 all | 02:09 |
|
SethRobertson
| Eridius: Yes | 02:09 |
| → aah joined | 02:09 |
| ← gretch left | 02:09 |
|
banisterfiend
| Eridius: it's the first line here: http://book.git-scm.com/4_rebasing.html | 02: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 branch | 02:10 |
|
banisterfiend
| Eridius: ah | 02: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 HEAD | 02:11 |
| → alberto joined | 02:11 |
|
banisterfiend
| Eridius: how non idiomatic of him | 02:11 |
|
| Eridius: oh ok, so it'll be origin/master? | 02:11 |
|
Eridius
| usually, yes | 02:11 |
|
banisterfiend
| Eridius: well how could you change the remote's HEAD ? | 02:12 |
| ← alberto56 left | 02:12 |
|
Eridius
| by ssh'ing into the remote and changing the HEAD symbolic-ref | 02:12 |
|
| banisterfiend: the way that chapter is written it looks like "origin" is the name of the branch | 02:12 |
|
banisterfiend
| confusing | 02:12 |
|
Eridius
| the fact that the command will actually work is fairly incidental, and isn't what the chapter actually meant | 02:12 |
|
| yeah, it should be rewritten methinks | 02:12 |
| ← towski left | 02: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 example | 02:13 |
|
| ? | 02:13 |
|
mDuff
| hrm. | 02:13 |
|
Eridius
| well, generally you wouldn't | 02:13 |
|
banisterfiend
| but that's what he's done here with 'origin' right? | 02:14 |
|
| im just curious hwo it might work | 02: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 branch | 02:14 |
|
| refs/remotes/origin | 02:14 |
|
| it's awfully bizarre | 02:14 |
|
banisterfiend
| Eridius: well how would i set up a remote branch so that i can refer to it locally as eridius | 02: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 left | 02:15 |
|
Eridius
| banisterfiend: I'm not really sure. I've never wanted to do that | 02:15 |
| ← stringoO left | 02: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 one | 02:16 |
|
banisterfiend
| ohok | 02:16 |
| → cpg joined | 02:20 |
| → stringoO joined | 02:20 |
|
cpg
| hello, i would like a little bit of hand holding doing a merge so that i do not skrew it up | 02:20 |
|
| i have a master branch and i did some major work in a separate branch like a good boy | 02:21 |
|
| now i need to merge that branch to the master | 02:21 |
|
| i would like to tag the master or whatever, so that i know taht was the latest stable | 02:21 |
|
| then do the merge in | 02:21 |
| → Dreamer3 joined | 02:21 |
|
cpg
| i know there will some conflicts in the merge | 02:22 |
| → leroux` joined | 02:22 |
|
cpg
| anyone? :D | 02:22 |
|
Eridius
| cpg: it sounds like you know what you're doing. What is it that you want from us? | 02:22 |
| → jmcantrell joined | 02: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 confilcts | 02:22 |
|
Eridius
| `git tag this-was-my-last-safe-copy` | 02:22 |
|
| of course, that's probably not even necessary | 02:23 |
| ← kenichi left | 02: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 merge | 02:23 |
| ← leroux left | 02:23 |
| ← Vampire0_ left | 02:23 |
|
cpg
| k | 02:24 |
|
| tagged | 02:24 |
|
| then did the merge | 02: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 conflicts | 02:24 |
| → dbbnj joined | 02:24 |
| ← banisterfiend left | 02:25 |
| ← jmcantrell left | 02:25 |
|
Eridius
| cpg: what do you mean? | 02:26 |
| ← mikepack left | 02:27 |
| ← alberto left | 02:27 |
| → sako joined | 02:27 |
|
cpg
| hi Eridius.... i just solved the confilcts by editing the files .. | 02:27 |
|
Eridius
| m | 02:27 |
|
cpg
| i see "both modified" for the three files | 02:27 |
|
Eridius
| that's typically how conflicts are solved ;) | 02:27 |
|
| there's also `git mergetool` | 02:27 |
|
cpg
| git add each ? | 02:27 |
|
| hehe | 02:27 |
|
Eridius
| once you've resolved all conflicts, yes, `git add` to remove the conflict status | 02:27 |
|
cpg
| k done | 02:28 |
| ← chrischambers left | 02:29 |
| → banisterfiend joined | 02:29 |
|
cpg
| git status shows a massive list of files under the heading Changes to be committed: | 02:29 |
|
| git commit ? | 02:29 |
|
Eridius
| sure | 02:30 |
| ← leroux` left | 02:30 |
| → aphelion joined | 02:30 |
| ← aphelion left | 02:30 |
| → aphelion joined | 02:30 |
|
cpg
| in the cmmit message i have Conflicts: listed | 02:30 |
|
| i guess i can delete that junk? | 02:30 |
| → SpookyET joined | 02:30 |
|
Eridius
| yes, git merge will prepopulate the message | 02:30 |
|
| it's a good idea to keep it around | 02:30 |
| ← SpookyET left | 02: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 changes | 02:31 |
| → babusri joined | 02: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 left | 02: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 joined | 02:33 |
| → gretch joined | 02:34 |
| → banisterfiend joined | 02:34 |
|
cpg
| Eridius: looks like it worked well. thanks!! | 02:34 |
|
Eridius
| awesome | 02:35 |
| → stliu joined | 02:35 |
| → rchavik joined | 02:37 |
| ← phantomcircuit left | 02:37 |
| → Vampire0_ joined | 02:37 |
| → kylehayes_ joined | 02:38 |
| → alberto56 joined | 02:38 |
| ← vdv left | 02:39 |
| → banisterfiend` joined | 02:41 |
| ← kylehayes_ left | 02:41 |
| → Buglouse joined | 02:42 |
| ← rchavik left | 02:42 |
| ← alberto56 left | 02:42 |
| ← banisterfiend left | 02:43 |
| → yngress joined | 02:45 |
| → thierryp joined | 02:49 |
| ← kpreid left | 02:50 |
| ← dquestions left | 02:51 |
| → Cacheaway joined | 02:51 |
| → kpreid joined | 02:52 |
| → phantomcircuit joined | 02:52 |
| → dquestions joined | 02:52 |
| → dreiss joined | 02:55 |
| ← yngress left | 02:55 |
| ← aah left | 02:56 |
| → banjiewen joined | 02:56 |
| → aah joined | 02:56 |
| ← Blackguard left | 02:58 |
| ← thierryp left | 02:59 |
| → dr_win joined | 03:00 |
| → avena joined | 03:00 |
|
mase_wk
| Hey guys, i have ( or thought i had) deleted some remote branches by doing a git push origin :foo | 03:01 |
|
| however a git branch -r still displays origin/foo | 03:01 |
| ← avena left | 03: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 joined | 03:02 |
|
mase_wk
| thanks | 03:02 |
| → Plouj joined | 03: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 left | 03:05 |
|
Plouj
| ah, I just figured to rebase it on top of the first commit | 03:05 |
|
| Eridius: because it needs a refset to rebase against... | 03:06 |
| ← SianaGearz left | 03:06 |
|
Plouj
| s/refset/branch/ | 03:06 |
|
Eridius
| ahh | 03:06 |
|
frogonwheels
| Plouj: git rebase -i {reference to one beyond the last commit you want to rearrange} | 03:06 |
|
mmattice
| just specify a commit | 03:06 |
|
Plouj
| I did | 03:06 |
|
Eridius
| yeah I've been meaning to look into making rebase -i support --root, but I doubt I'll ever get to it | 03:06 |
|
frogonwheels
| Plouj: ie git rebase -i HEAD~5 rebase the last 5 | 03:06 |
|
Plouj
| mmattice: it's funny because it's a very unusual situation | 03:07 |
|
mmattice
| I've done about 6 of them today. it works fine. | 03:07 |
|
Plouj
| frogonwheels: thanks | 03:07 |
|
| a repo with a single branch? | 03:07 |
|
mmattice
| the commit sha's will obviously change each time you rebase | 03:07 |
| → alberto56 joined | 03:07 |
| ← Plouj left | 03:08 |
| → abetaha joined | 03:08 |
| ← boombatower left | 03:09 |
| → Risar joined | 03:11 |
| → jaeckel joined | 03:12 |
| ← alberto56 left | 03:13 |
| → gnufied joined | 03:14 |
| → thierryp joined | 03:15 |
| ← banjiewen left | 03:15 |
| ← Dreamer3 left | 03:16 |
| ← thierryp left | 03:16 |
| → envi joined | 03:17 |
| ← Elfe left | 03:18 |
| ← abetaha left | 03:18 |
| → abetaha joined | 03:19 |
| ← abetaha left | 03:19 |
| ← chikei left | 03:20 |
| → chikei joined | 03:20 |
| rayners_afk → rayners | 03:21 |
| ← itamarjp left | 03:21 |
| ← andyburke left | 03:22 |
| ← frakturfreak left | 03:22 |
| ← Tuller_ left | 03:23 |
| → steph021 joined | 03:23 |
| ← steph021 left | 03:23 |
| → steph021 joined | 03:23 |
| ← Pacman_Home left | 03:25 |
| → Pacman_Home joined | 03:26 |
| ← envi left | 03:27 |
| ← justin-george left | 03:27 |
| → MattDiPasquale joined | 03:27 |
| → Elfe joined | 03:30 |
| → frakturfreak joined | 03:34 |
| → Hutch[S] joined | 03:35 |
|
Hutch[S]
| hey, has anyone here used gitorious or codaset? which would they recommend? looking to host 1 free private repo | 03:35 |
| → hebz0rl joined | 03:35 |
| ← tbrock left | 03:40 |
| → Dreamer3 joined | 03:40 |
| → schacon joined | 03:40 |
| ← schacon left | 03:42 |
| ← foocraft left | 03:43 |
| → foocraft joined | 03:46 |
| → hasrb joined | 03:46 |
| ← sivy left | 03:49 |
| → Koteswara joined | 03:51 |
| → banisterfiend joined | 03:52 |
| ← banisterfiend` left | 03:52 |
| → chessguy joined | 03:52 |
| ← Cacheaway left | 03:54 |
| ← kukks left | 03:55 |
| ← Pacman_Home left | 03:55 |
| → Pacman_Home joined | 03:56 |
| → banjiewen joined | 03:58 |
| → cloudqq joined | 03:59 |
| ← programble left | 03:59 |
| → Mage joined | 04:05 |
| → leroux joined | 04:09 |
| → Phrogz joined | 04:11 |
| ← bronson left | 04:12 |
| → aresnick joined | 04:12 |
| → lightcap joined | 04:14 |
| ← lightcap left | 04:14 |
| → zombor joined | 04:15 |
| → MmikeMRMA joined | 04:15 |
| ← tarikk left | 04: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 left | 04:18 |
| ← Mmike left | 04:19 |
| → noahcampbell joined | 04:19 |
| → RobertMeta joined | 04:19 |
| ← RobertMeta left | 04:19 |
| → RobertMeta joined | 04:19 |
|
kadoban
| mdpatrick: isn't that what git diff --cached is? | 04:20 |
| → LRN joined | 04:21 |
| ← zombor left | 04:21 |
| ← brntbeer left | 04:22 |
|
kadoban
| oh sorry, no i misread | 04:22 |
| ← MikhX left | 04:23 |
| ← chessguy left | 04:23 |
| ← Phrogz left | 04:23 |
|
kadoban
| mdpatrick: that would be just git diff. | 04:24 |
| → pedrobelo joined | 04: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 area | 04:26 |
| ← rsewill left | 04:27 |
| ← dquestions left | 04: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 think | 04:28 |
|
| ya, looks like it | 04:28 |
| → dquestions joined | 04:28 |
| ← pedrobelo left | 04: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 anything | 04:29 |
| ← petercoulton left | 04:31 |
|
mdpatrick
| OK cool that makes sense. | 04:31 |
|
| thanks, it helps to just bounce some random things off someone sometimes | 04:32 |
|
| lot to learn | 04:32 |
| ← NickyP left | 04: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 options | 04:33 |
| → lightcap joined | 04:33 |
| → rsewill joined | 04: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 left | 04:35 |
|
banisterfiend
| kadoban: ah ok thanks | 04:35 |
| ← xtagon left | 04:37 |
|
banisterfiend
| kadoban: hmm, 'git describe' says that im '3' commits past the tag | 04:38 |
|
| kadoban: yet when i go git log --oneline -10, the SHA-1 of that tag doens't appear anywhere | 04: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 lot | 04:40 |
|
banisterfiend
| man git-describe | 04:40 |
|
jast
| the 'git-describe' manpage can be found at http://git.or.cz/man/git-describe [automatic message] | 04:40 |
| → MikhX joined | 04:42 |
|
nigelb
| 35 | 04:44 |
|
| gah | 04:44 |
|
banisterfiend
| how do i | 04:44 |
|
| find the message associated with a commit | 04:44 |
|
| when i go: git rev-parse my_tag | 04:44 |
|
| i get the commit | 04:44 |
|
| but i cant find the damn commit message associated withit | 04:45 |
|
| i even grep the log: git log |grep SHA-1 | 04:45 |
|
| (SHA-1 is of the my_tag) | 04:45 |
| ← Mannequin left | 04:45 |
| → Adaptee joined | 04:45 |
|
banisterfiend
| doens't come up anywhere | 04:45 |
|
| wtf | 04:45 |
| ← eletuchy left | 04:45 |
| → alex__c2022 joined | 04: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 though | 04:48 |
| → brntbeer joined | 04:48 |
|
banisterfiend
| ok | 04:49 |
|
| this is confusing me | 04:49 |
|
| say i have a tag called 'fast | 04:49 |
|
| and i do this | 04:49 |
| ← RobertMeta left | 04:49 |
|
banisterfiend
| git checkout -b fast_branch fast | 04:49 |
|
| the the SHA-1 of 'git log -1' should be equal to the SHA-` of 'git rev-parse fast' right??? | 04:50 |
| → xtagon joined | 04:50 |
|
kadoban
| never used rev-parse, sorry | 04:50 |
|
banisterfiend
| kadoban: it just grabs the SHA-1 of a commit | 04:51 |
| → nchaimov_ joined | 04:51 |
| ← nchaimov_ left | 04:51 |
| → smolyn joined | 04:54 |
| ← brntbeer left | 04:54 |
| → nchaimov_ joined | 04:55 |
| nchaimov_ → nchaimov | 04:55 |
| ← nchaimov left | 04:55 |
| → nchaimov joined | 04:55 |
| ← Eridius left | 04:56 |
|
banisterfiend
| man git-rev-parse | 04:57 |
|
jast
| the 'git-rev-parse' manpage can be found at http://git.or.cz/man/git-rev-parse [automatic message] | 04:57 |
| ← mdel left | 04:57 |
| → mdel joined | 04:57 |
| ← hobodave left | 05:00 |
| → xiangfu joined | 05:01 |
| → Cacheaway joined | 05:01 |
| → Mannequin joined | 05:01 |
| ← Cacheaway left | 05:02 |
| → Cacheaway joined | 05:02 |
| ← shentino left | 05:04 |
| → shentino joined | 05:05 |
| → edude03 joined | 05:09 |
| → BiggFREE joined | 05:09 |
|
edude03
| Hello everyone | 05:09 |
|
| I want to clean my git tree and ignore certain files in future commits | 05:09 |
|
| How do I go about doing that? | 05:09 |
|
wereHamster
| add them to .gitignore and delete them (git rm) | 05:09 |
| → towski joined | 05:10 |
| ← banisterfiend left | 05:11 |
| ← leroux left | 05:12 |
| → lightcap_ joined | 05:12 |
|
Cacheaway
| or edit .git/info/exclude | 05:12 |
| ← rayners left | 05:12 |
| → shiba_yu_ joined | 05:13 |
| ← shentino left | 05:13 |
| ← shiba_yu36 left | 05:13 |
| → dunpeal joined | 05:14 |
| → banisterfiend joined | 05:14 |
| ← lightcap left | 05:14 |
| lightcap_ → lightcap | 05: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 joined | 05:16 |
| → rayners joined | 05: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 repo | 05:16 |
|
frogonwheels
| banisterfiend: ah - it's the commit of theTAG | 05:16 |
|
banisterfiend
| frogonwheels: it's confusing to me | 05:17 |
|
frogonwheels
| banisterfiend: I mean the SHA1 of the tag | 05: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 names | 05: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 joined | 05:18 |
| ← cloudqq left | 05:18 |
| → yang_ joined | 05: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 then | 05:19 |
| → Cromulent joined | 05:19 |
|
frogonwheels
| banisterfiend: pretty sure there's something in rev-parse for that | 05:19 |
|
edude03
| Cacheaway: ah so I'm putting everything in .gitignore then | 05:19 |
|
| Thanks :D | 05:19 |
| ← schacon left | 05:20 |
|
frogonwheels
| banisterfiend: ahh ^0 | 05:21 |
|
| banisterfiend: git cat-file -t <yourtag>^0 | 05:21 |
|
| banisterfiend: should give you 'commit' as a result. | 05:21 |
|
| so look at git rev-parse <yourtag>^0 | 05:21 |
|
| banisterfiend: :) I've learnt somethhing today too | 05:22 |
| ← noahcampbell left | 05:22 |
|
banisterfiend
| frogonwheels: hmm thanks, can you explain the meaning of the ^0 ? | 05:22 |
|
frogonwheels
| banisterfiend: look in man git-rev-parse | 05: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^0 | 05:23 |
|
banisterfiend
| oh ok | 05:23 |
|
| thanks | 05:23 |
|
| god git's syntax is totally untuitive hehe | 05:23 |
|
| the functionality is amazing, but i really think someone needs to completely redesign the CLI | 05:23 |
| ← alex__c2022 left | 05: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: no | 05:28 |
|
Cacheaway
| banisterfiend: it's only unintuitive until it starts molding your brain | 05:28 |
|
wereHamster
| git rev-parse <tag>^{commit} | 05:28 |
| ← dunpeal left | 05:28 |
|
frogonwheels
| wereHamster: I hate ^ 'cause I have to double them in windoze cmd :) | 05:28 |
| → fr joined | 05:28 |
|
frogonwheels
| wereHamster: nah hate's a bit strong, but I do avoid when I can | 05:28 |
| ← yang_ left | 05:28 |
| → dunpeal joined | 05: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" == submodules | 05:30 |
| → sebastorama joined | 05: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 up | 05:31 |
|
| dunpeal: msysgit makes some use of them. | 05:31 |
| cpg → cpg|brb | 05:33 |
| ← babusri left | 05:34 |
| → roop joined | 05:35 |
| → roop_ joined | 05:35 |
| ← roop_ left | 05:35 |
| ← roop left | 05:36 |
| → roop joined | 05:36 |
| ← cytrinox left | 05:37 |
| ← roop left | 05:37 |
| cpg|brb → cpg | 05:37 |
| → roop joined | 05:38 |
| ← roop left | 05:38 |
| → cytrinox joined | 05:38 |
| ← nullvariable left | 05:39 |
| → smik````` joined | 05:41 |
| ← xtagon left | 05:41 |
| ← banjiewen left | 05:42 |
| → banjiewen joined | 05: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 android | 05:43 |
|
banisterfiend
| frogonwheels: why dont you use mysys shell in windows rather than cmd.exe | 05:43 |
| → roop joined | 05:43 |
| → dburba joined | 05:43 |
| ← roop left | 05:44 |
| → roop_ joined | 05:44 |
|
SethRobertson
| dunpeal: There are three major options: submodules, subtree, and scripting (eg. gitslave) each has their strength and weakness | 05: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```` left | 05:44 |
| ← banjiewen left | 05:44 |
| → schacon joined | 05: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 approximation | 05:46 |
|
| dunpeal: it really depends on your situation. | 05:46 |
|
banisterfiend
| frogonwheels: i stopped using ^ and used ~1 instead in cmd.ese | 05:46 |
|
| exe | 05: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 changes | 05: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 back | 05:47 |
|
| see also https://git.wiki.kernel.org/index.php/SubprojectSupport | 05: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 left | 05:48 |
|
SethRobertson
| If that was a reply to me, subtree is where contributing back gets annoying, not submodules | 05: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 left | 05: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 gitslave | 05:50 |
|
dunpeal
| Since in SVN partial checkouts are very natrual. | 05:50 |
|
SethRobertson
| Called sparse checkouts in git | 05:50 |
| → slonopotamus joined | 05:51 |
|
frogonwheels
| and quite honestly, not so natural :) | 05:51 |
|
SethRobertson
| which is different from sparse clones, which are impossible | 05:51 |
| → envi joined | 05:51 |
| ← sebastorama left | 05: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 way | 05:52 |
|
dunpeal
| SethRobertson: i.e. we currently have ./proj1, ./proj2, [...], ./projn | 05:52 |
|
kanzure
| or i'd like to think i am | 05: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 model | 05:52 |
| → WolfSpider joined | 05: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. not | 05:53 |
|
| dunpeal, then you want submodules | 05: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 work | 05:54 |
|
dunpeal
| SethRobertson: cool, so why did Android choose not to use them? ;) | 05:54 |
|
frogonwheels
| dunpeal: it's always a commit though | 05: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 commit | 05:54 |
|
dunpeal
| OK, who among you is right? can I or can't I link to a symbolic reference (tag / branch)? | 05:55 |
| → sebastorama joined | 05: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 branch | 05:56 |
|
frogonwheels
| dunpeal: submodules link to a commit sha1. | 05:56 |
|
SethRobertson
| And what I said does not disagree with that. He is absolutely correct | 05:57 |
| → nohk joined | 05: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 submodules | 05:57 |
|
| many advantages, and many disadvantages | 05:57 |
| ← FYLGood left | 05: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 parent | 05:58 |
|
dunpeal
| I guess one advantage of never linking to a symbolic reference is that those can change. | 05:58 |
| ← smolyn left | 05: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 joined | 05: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 you | 05:59 |
|
dunpeal
| yeah, that's not exactly the case here. | 06:00 |
| ← slonopotamus left | 06: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 joined | 06: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 joined | 06:03 |
|
dunpeal
| which is what it should be :) | 06:03 |
|
| anyways, I think we should elucidate our needs | 06:04 |
|
SethRobertson
| The man page, website, and TODO in the gitslave repo talks about specific drawbacks | 06: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 subproject | 06:05 |
|
| sorry, in the superproject, during testing. Well, you could do it all of the time, but that would be a bit...insane | 06:06 |
|
dunpeal
| yeah, yo dawg and all that | 06:06 |
|
banisterfiend
| frogonwheels: wanna know something weird | 06: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 tag | 06:08 |
|
| it works just like a branch name | 06:08 |
|
| but git rev-parse heavy_tag returns the commit of the tag itself | 06: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 sense | 06:09 |
|
frogonwheels
| wereHamster: SHA1 of the tag | 06: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 somehead | 06: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 left | 06:13 |
| ← ignatp left | 06:13 |
| → Remixman joined | 06: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 left | 06:15 |
| ← hyperair left | 06:15 |
| ← joel_falcou left | 06:16 |
| → hyperair joined | 06:17 |
| → srid joined | 06:17 |
| ← WolfSpider left | 06:18 |
| ← srid left | 06:21 |
| → srid joined | 06:22 |
| ← _pingu left | 06:24 |
| → krosenvold_ joined | 06:25 |
| → MikhX joined | 06:25 |
| ← madewokherd left | 06:27 |
| → linusoleander joined | 06:28 |
| ← Cromulent left | 06:28 |
| → dgtlmoon joined | 06:28 |
| ← dgtlmoon left | 06:28 |
| ← hasrb left | 06:29 |
| ← linusoleander left | 06:29 |
| → schacon joined | 06:29 |
| ← schacon left | 06:30 |
| ← KB1JWQ left | 06:31 |
| → Vortex34 joined | 06:34 |
| → a-atwood joined | 06:34 |
| Xeross|AFK → Xeross | 06:34 |
| → KB1JWQ joined | 06:35 |
| → justin-george joined | 06:35 |
| ← slonopotamus left | 06:36 |
| → Cromulent joined | 06:41 |
| ← giallu left | 06:41 |
| → j0ran joined | 06:42 |
|
banisterfiend
| anyone kno any good cheat-sheets for intermediate users? | 06:43 |
| → Eridius joined | 06:44 |
|
mase_wk
| banisterfiend: have you seen zack rusins cheat sheet ? | 06:45 |
|
banisterfiend
| no | 06:49 |
|
| link? | 06:49 |
| ← srid left | 06:49 |
| → srid joined | 06:49 |
|
banisterfiend
| nm i can google it | 06:49 |
|
mase_wk
| yeh it's googleable | 06:49 |
|
banisterfiend
| how come: git checkout -- a, doesn't checkout my 'a' file, but git checkout HEAD a, does? | 06:49 |
| → schacon joined | 06:50 |
| Hutch[S] → Hutch[S]|away | 06:51 |
| ← Jonathan__ left | 06:51 |
| ← jfkw left | 06:52 |
| ← schacon left | 06:52 |
| ← srid left | 06:53 |
| → srid joined | 06:54 |
| ← srid left | 06:54 |
| → srid joined | 06:54 |
| ← stringoO left | 06:56 |
| → mmc joined | 07:01 |
| ← Cromulent left | 07:02 |
| ← aah left | 07:03 |
| ← Xeross left | 07:04 |
| → Xeross joined | 07:06 |
| → urkud_ joined | 07:09 |
| → opalka joined | 07:10 |
| → doener joined | 07:10 |
| → cbreak_work joined | 07:16 |
| → Zhonghua joined | 07:17 |
| → OOPMan joined | 07:17 |
| → werdan7 joined | 07:18 |
| → amerine joined | 07:19 |
| → saschpe joined | 07:20 |
| ← phantomcircuit left | 07:23 |
| ← robotarmy_ left | 07:23 |
| → phantomcircuit joined | 07:23 |
| ← Vortex34 left | 07:24 |
| ← gnufied left | 07:24 |
| → Vortex34 joined | 07:24 |
| ← dquestions left | 07:25 |
| → dquestions joined | 07:25 |
| → evant_ joined | 07: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_ left | 07:26 |
| → mastro joined | 07:27 |
| ← marc_kdab left | 07:28 |
|
crab
| evant: git checkout -b mycopy remotename/branchname | 07:29 |
| → thiago_home joined | 07:30 |
| → gnufied joined | 07:31 |
| → iaj joined | 07:31 |
| ← albel727_2 left | 07:32 |
| ← doener left | 07:34 |
| ← codespectator left | 07:38 |
| → psankar joined | 07:40 |
| ← banisterfiend left | 07:40 |
| → banisterfiend joined | 07:41 |
| → giallu joined | 07:41 |
| ← stevepsharpe left | 07:42 |
| → ph^ joined | 07:43 |
| ← banisterfiend left | 07:44 |
| → eMBee joined | 07:44 |
| → guardian joined | 07:46 |
| → albel727 joined | 07:47 |
| ← kanru left | 07:47 |
| → stevepsharpe joined | 07:47 |
| ← Yuffster left | 07:48 |
| → sivy joined | 07:50 |
| → pratz joined | 07:51 |
| → banisterfiend joined | 07:51 |
| → p3rg2z joined | 07:51 |
| ← Anti-X left | 07:52 |
| → n00b_ joined | 07:54 |
|
evant_
| crab: Thanks | 07:54 |
|
n00b_
| i am very new to git or any verson control sys | 07:55 |
|
| so can any one suggest me ho to go ahead | 07: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_ joined | 07:56 |
| → dc5ala joined | 07:56 |
|
n00b_
| i recently came to know it is very useful if i am sharing my code with other people | 07:56 |
| ← phantomcircuit left | 07:57 |
| → digitalfiz joined | 07: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 joined | 07:58 |
| ← srid left | 07:58 |
| ← banisterfiend left | 07:58 |
| ← aphelion left | 07:58 |
| → teweWork joined | 07:58 |
| ← MikhX left | 07:58 |
| → RobertMeta joined | 07:59 |
| ← RobertMeta left | 07:59 |
| → RobertMeta joined | 07:59 |
|
evant_
| Do I need to track it? Basically, what would you do? ;) | 07:59 |
|
frogonwheels
| evant_: tracked is good | 07:59 |
| ← nineteeneightd left | 08: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, nifty | 08:00 |
|
| And then I can just locally branch that | 08:00 |
| ← towski left | 08:01 |
|
frogonwheels
| evant_: well for small stuff, you generally just work in there, commit changes, and push them up | 08:01 |
|
evant_
| Yeah I'll be making lots of changes | 08:01 |
|
| Involving submodules and a whole bunch of other complications! | 08:01 |
| → mishok13 joined | 08:01 |
| → towski joined | 08:01 |
| ← j0ran left | 08: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 left | 08:02 |
|
| thiago_home has found that he develops everything on the same branch | 08:02 |
|
thiago_home
| more than half of the stuff I do I want to run myself, so I keep it all in the same branch | 08:03 |
| → speakman joined | 08:03 |
|
| frogonwheels uses both models depending on what he's doing. | 08:03 |
|
thiago_home
| I just don't push them | 08:03 |
| ← justin-george left | 08:03 |
|
evant_
| Cool, thanks for the input | 08:03 |
| ← n00b_ left | 08:03 |
| ← guardian left | 08:04 |
| ← ph^ left | 08: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 left | 08:05 |
|
frogonwheels
| speakman: not largely, no. | 08:05 |
|
thiago_home
| that's when you have to pull | 08:05 |
|
frogonwheels
| speakman: when you pull their changes, and merge them into yours, you get all their commit history as well | 08:06 |
| ← towski left | 08:06 |
|
speakman
| frogonwheels: what happen when they pull from me then? | 08:07 |
|
thiago_home
| same thing | 08: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 joined | 08:07 |
|
thiago_home
| no | 08: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 have | 08:08 |
|
| think of a Y-shaped history (diverge) | 08:08 |
|
| if that happens, then pull does a normal merge | 08:08 |
| ← KU0N left | 08: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) repository | 08:09 |
|
thiago_home
| probably, but git pull is the start | 08: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 push | 08:09 |
| ← hebz0rl left | 08:09 |
|
frogonwheels
| speakman: so I suggest a central server as your common reference. it's possible the other way too though. | 08:09 |
| → phantomcircuit_ joined | 08:10 |
|
frogonwheels
| speakman: especially if you only pull when you're requested to. | 08:10 |
| → spuz joined | 08:10 |
| → mtkd joined | 08:10 |
|
speakman
| can we share a single central repo or do all user have to have their own repo? | 08:10 |
|
thiago_home
| both | 08:10 |
|
frogonwheels
| speakman: in git, all users have their own repo. | 08:10 |
|
thiago_home
| you can share a single, central repo | 08:10 |
|
| but each person needs to have their own repo, on their own machines | 08:11 |
|
speakman
| yes but we can all push to a single shared repo? | 08:11 |
| → mtkd_ joined | 08:11 |
|
frogonwheels
| speakman: exactly. | 08:11 |
| ← digitalfiz left | 08: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 joined | 08:12 |
|
frogonwheels
| speakman: there's probably even a howto on just such a model. :) | 08:12 |
| ← noktoborus_ left | 08:12 |
|
speakman
| Earlier we've used Bzr which, IMO, is a great central/distributed hybrid | 08:12 |
| ← tlvb left | 08:13 |
|
speakman
| You can say we try not to have one single "maintainer" for the project. | 08:14 |
| ← mtkd left | 08:14 |
|
speakman
| Or any project. The linux kernel workflow doesn't really fit. :) | 08:16 |
| ← spuz left | 08: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 joined | 08:18 |
| ← dreiss left | 08:21 |
| → aah joined | 08:22 |
| ← Textmode left | 08:22 |
|
speakman
| frogonwheels: sounds great! will look at gitolite | 08:22 |
| → j0ran joined | 08:24 |
| → urkud_ joined | 08:26 |
| → pantsman joined | 08:26 |
| → psoo joined | 08:26 |
| ← Xeross left | 08:28 |
| → eletuchy joined | 08:29 |
| ← Rickardo1 left | 08:31 |
| → darkredandyellow joined | 08:31 |
| → ph^ joined | 08:32 |
| ← darkredandyellow left | 08:33 |
| → codespectator joined | 08:33 |
| → noktoborus_ joined | 08:33 |
| ← aah left | 08:34 |
| ← ph^ left | 08:35 |
| → mabrand joined | 08:35 |
| → ph^ joined | 08:35 |
| → tvw joined | 08:36 |
| ← ph^ left | 08:38 |
| ← Eridius left | 08:39 |
| ← dquestions left | 08:39 |
| → dquestions joined | 08:39 |
| → engla joined | 08:41 |
| ← engla left | 08:41 |
| → engla joined | 08:41 |
| ← thiago_home left | 08:41 |
| → ph^ joined | 08:45 |
| → guardian joined | 08:46 |
| → cilly joined | 08:46 |
| ← smik````` left | 08:47 |
| → banisterfiend joined | 08:50 |
|
guardian
| morning | 08:51 |
| ← theoros left | 08:51 |
| ← amerine left | 08:52 |
| ← carutsu_ left | 08:52 |
| ← pantsman left | 08:54 |
| → smik joined | 08:57 |
| → galderz joined | 08:58 |
| → Rickardo1 joined | 08:58 |
| → nevyn^_ joined | 09:04 |
| → lanthan_afh joined | 09:05 |
| → marc_kdab joined | 09:05 |
| → rraasch joined | 09:06 |
| ← nevyn^_ left | 09:07 |
| → airborn joined | 09:07 |
| → msieradzki joined | 09:07 |
| → ayanes joined | 09:08 |
| → ExtraSpice joined | 09:08 |
| → Znow joined | 09:10 |
| ← jelmer left | 09:10 |
| → nevyn^_ joined | 09:11 |
| ← Remixman left | 09:11 |
| → Schmallon joined | 09:11 |
| ← napster_123 left | 09:15 |
| ← hyperair left | 09:15 |
| ← psankar left | 09:15 |
| → dean[w] joined | 09: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 denied | 09: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 branch | 09:17 |
| → jelmer joined | 09:17 |
|
banisterfiend
| dean[w]: http://www.youtube.com/watch?v=fbGkxcY7YFU&feature=BF&list=PLB6F4D5B8E1B77746&index=9 | 09:19 |
| ← jelmer left | 09:19 |
| ← banisterfiend left | 09:19 |
|
dean[w]
| wtf? | 09:19 |
| → simosx joined | 09:20 |
| ← simosx left | 09:20 |
| → simosx joined | 09:20 |
| → hyperair joined | 09:20 |
| ← simosx left | 09:21 |
| ← saschpe left | 09:22 |
| → jelmer joined | 09:23 |
| ← j0ran left | 09:23 |
| → thiana joined | 09:24 |
| ← thiana left | 09:24 |
| → Schmallon1 joined | 09: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 joined | 09:25 |
| ← Schmallon left | 09:26 |
| ← msieradzki left | 09: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 further | 09:27 |
| ← freimatz left | 09:27 |
| → banisterfiend joined | 09:27 |
| → freimatz joined | 09:27 |
| → tatsuya joined | 09:28 |
| ← stevepsharpe left | 09:28 |
| → Guest78583 joined | 09:29 |
| → roop__ joined | 09:30 |
| → MikhX joined | 09:30 |
| ← roop__ left | 09:30 |
| → _ollie joined | 09:30 |
| ← roop_ left | 09:31 |
| ← banisterfiend left | 09:31 |
| ← galderz left | 09:33 |
| → galderz joined | 09:34 |
| → msieradzki joined | 09:34 |
| ← mase_wk left | 09:34 |
|
_ikke_
| B 12 | 09:35 |
|
Slush-
| you sunk my battleship | 09:36 |
| → PeaMan joined | 09:36 |
| → priidu joined | 09:36 |
| → mase_wk joined | 09:36 |
| ← Guest78583 left | 09:36 |
|
_ikke_
| Slush-: Cool | 09:37 |
| → g0bl1n joined | 09:37 |
| → j0ran joined | 09: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 user | 09:40 |
| → _ollie1 joined | 09:40 |
| ← _ollie left | 09:40 |
| → banisterfiend joined | 09:43 |
| ← dr_win left | 09:43 |
| → psankar joined | 09: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 copy | 09:46 |
|
| How can we do this? | 09:46 |
|
tango_
| dean[w]: you pull from him | 09:46 |
|
| add him as a remote and then pull from him | 09: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 him | 09:47 |
| ← banisterfiend left | 09: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 him | 09:47 |
| → bosyak joined | 09:47 |
| → tatsuya_ joined | 09:47 |
|
tango_
| assuming he commited his changes, of course | 09: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/hotfix2 | 09: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 pushed | 09:48 |
|
dean[w]
| He checked it out like so tango, so how do i pull exactly in this case | 09:49 |
|
patrikf
| evant_: git log? | 09:49 |
| ← tatsuya left | 09:49 |
|
tango_
| dean[w]: did he comit his changes? | 09:49 |
|
dean[w]
| to the dean-hotfix2 branch yes | 09:49 |
| → tatsuya joined | 09: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 branch | 09:50 |
| ← psankar left | 09:50 |
| ← steph021 left | 09:50 |
|
tango_
| assuming you have hotfix2 checked out, it's git fetch ; git merge origin/dean-hotfix2 | 09:50 |
|
dean[w]
| ah yes :) | 09:51 |
| ← phantomcircuit_ left | 09:51 |
| ← tatsuya_ left | 09:52 |
| → HG` joined | 09:52 |
| → banisterfiend joined | 09:53 |
| ← thiana left | 09:55 |
| → thrillERboy joined | 09:56 |
|
Znow
| patrikf - when I do that cmd, it shows only a blank line | 09:56 |
|
| patrikf - but I can add and commit changes... | 09:57 |
|
patrikf
| Znow: yes, git is a decentralized version tracking system | 09:57 |
|
Znow
| O_o | 09: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 git | 09:58 |
|
Znow
| huh? :D | 09:58 |
|
| well.. I just want to pull my "depot" repo to my workstation @ my work | 09:58 |
|
patrikf
| Znow: your repo can have zero or more "remotes", references to remote repositories | 09:59 |
|
Znow
| okay | 09:59 |
| → thiana joined | 09:59 |
|
patrikf
| Znow: when you clone, you get one called "origin", which is where you cloned from | 09:59 |
|
| Znow: but cloning is not the only way to create git repos | 09:59 |
| → rolando joined | 09:59 |
|
patrikf
| Znow: so if yours has 0 remotes (as git remote is empty), there might not be a remote repo at all | 10: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 init | 10:01 |
|
| and how does this clone work? | 10:02 |
| ← rolando left | 10:02 |
| ← thrillERboy left | 10:02 |
| → rolando joined | 10:03 |
|
Znow
| patrikf :) | 10:03 |
| → justin-george joined | 10:03 |
| ← goshawk left | 10:04 |
|
patrikf
| Znow: please refer to the docs | 10:05 |
|
Znow
| ... | 10:06 |
| → bluenovember joined | 10:08 |
| ← QinGW left | 10:09 |
| → curtana joined | 10:12 |
| ← shiba_yu_ left | 10:14 |
| → chrischambers joined | 10:17 |
| → ereslibre joined | 10:22 |
| ← ereslibre left | 10:22 |
| → ereslibre joined | 10:22 |
| → Vardan joined | 10:23 |
|
Vardan
| hi all | 10:23 |
| ← Znow left | 10: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 branch | 10:25 |
|
| if you commit the changes, then the commit will stay in that branch and won't "follow" when you switch branches | 10: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, yep | 10:26 |
|
Vardan
| the same true for file deletion? | 10:26 |
| ← Schmallon1 left | 10:26 |
|
teuf
| I think so | 10:27 |
| ← sebastorama left | 10:27 |
| → Leemp joined | 10:28 |
| ← q0rban|afk left | 10:34 |
| ← urkud_ left | 10:35 |
| ← ereslibre left | 10:37 |
| → _pingu joined | 10:39 |
| → Pupeno joined | 10:39 |
|
cbreak_work
| Vardan: commits are in a branch | 10:40 |
|
| local changes are NOT in a branch | 10:40 |
| → artefon joined | 10:40 |
|
cbreak_work
| they are in the working directory or the index | 10:40 |
|
| until you commit them, they stay unbound to a branch | 10:41 |
|
| all local changes | 10:41 |
|
Vardan
| ok, thanks :) | 10:41 |
| ← stliu left | 10:42 |
| ← ft left | 10:43 |
|
Vardan
| how to revert changes | 10:43 |
|
| ? | 10:43 |
| → ft joined | 10:44 |
| ← dc5ala left | 10:44 |
| ← tatsuya left | 10:45 |
| ← rchavik left | 10:45 |
|
Vardan
| ok, I found that :) | 10:46 |
| → urkud_ joined | 10:46 |
| ← lightcap left | 10:46 |
| ← wliao left | 10:46 |
| → tatsuya joined | 10:47 |
| → _ollie joined | 10:49 |
| ← _ollie1 left | 10:49 |
|
cbreak_work
| many ways, depending on what changes you are speaking of | 10:50 |
|
| git checkout, reset, revert, ... | 10:50 |
| ← drunkard left | 10:52 |
| ← _ollie left | 10:52 |
| ← bosyak left | 10:53 |
| ← mtx_init left | 10:59 |
| ← _pingu left | 11:01 |
| → Rai joined | 11:02 |
| ← msieradzki left | 11:03 |
| ← Vardan left | 11:05 |
| ← Rai_ left | 11:05 |
| → Vardan joined | 11:05 |
| → khiroc joined | 11:07 |
| → Ryback_ joined | 11:07 |
| → chrisred joined | 11:10 |
| ← Buglouse left | 11:10 |
| ← banisterfiend left | 11:11 |
| → banisterfiend joined | 11:11 |
| → PCJockey joined | 11:11 |
| → tizbac joined | 11:11 |
| → ereslibre joined | 11:15 |
| → zorzar_ joined | 11:15 |
| ← banisterfiend left | 11:16 |
| → berkes joined | 11:16 |
| → fs-sylr joined | 11:17 |
| ← zorzar left | 11:18 |
| → thrillERboy joined | 11:21 |
| → napster_123 joined | 11:22 |
| → parasti joined | 11:24 |
| → banisterfiend joined | 11:24 |
| ← frakturfreak left | 11:24 |
| → frakturfreak joined | 11:24 |
| → Anti-X joined | 11:25 |
|
banisterfiend
| for all intents and purposes branch --contains is the same as branch --merged right? | 11:26 |
|
thiago
| no, it's the exact opposite | 11:27 |
|
| --contains: the branches whose tip commits are descendants of the named commit | 11:27 |
|
| --merged: the branches whose tip commits are reachable from the named commit | 11:27 |
|
| if A contains B, then B is merged into A | 11:27 |
| ← thiana left | 11:28 |
| → Schmallon joined | 11:29 |
| → _ollie1 joined | 11:29 |
| → zombor joined | 11:29 |
| ← _ollie1 left | 11:29 |
| → _ollie joined | 11:30 |
| ← Schmallon left | 11:30 |
| ← _ollie left | 11: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
| yes | 11:31 |
|
banisterfiend
| which is the same as what you wrote here: --contains: the branches whose tip commits are descendants of the named commit | 11:31 |
| ← urkud_ left | 11:31 |
|
| thiago rereads the doc | 11:31 |
|
banisterfiend
| so they are the same? | 11:32 |
| ← zombor left | 11:32 |
|
thiago
| no | 11:32 |
|
| --merged [<commit>] | 11:32 |
|
| Only list branches whose tips are reachable from the specified commit (HEAD if not specified). | 11:32 |
|
banisterfiend
| ah | 11:32 |
| ← smik left | 11:32 |
|
banisterfiend
| so what i pasted was incorrect? | 11:33 |
|
thiago
| reachable != descendant | 11:33 |
|
banisterfiend
| hmm | 11:33 |
|
thiago
| it's the opposite | 11:33 |
|
banisterfiend
| what does reachable mean? | 11:33 |
| → bitkiller joined | 11:33 |
|
thiago
| given a commit history: A→B→C→D | 11:33 |
|
| one direction is reachable, the other is descandant | 11:34 |
| → Schmallon joined | 11:34 |
|
thiago
| Git id a Directed Acyclic Graph. The direction matters. | 11:34 |
|
| if that drawing is a graph, then A is the youngest commit | 11:34 |
|
| A is a descendant of B. B is reachable from A. | 11:34 |
|
banisterfiend
| ah | 11:35 |
|
thiago
| B = A~ | 11:35 |
|
| uh | 11:36 |
|
banisterfiend
| thanks | 11:36 |
|
thiago
| no, never mind | 11:36 |
| → kanru joined | 11:36 |
|
| thiago thought he had inverted twice | 11:36 |
|
banisterfiend
| i think i'm either reading broken docs | 11:36 |
| ← justin-george left | 11:36 |
|
banisterfiend
| or my mind is a bit broken at this late hour | 11:36 |
|
| thiago: are these descriptions of --contains and --merged accurate? http://gitready.com/intermediate/2009/04/03/find-ancestor-commits.html | 11:36 |
| → etag joined | 11:37 |
|
| thiago has just run the test on his Git tree: | 11:38 |
|
thiago
| git branch --merged 4.6: 4.5 and 4.6 | 11:38 |
| → hebz0rl joined | 11:38 |
|
thiago
| git branch --contains 4.6: 4.6, 4.7, master | 11:38 |
| → bartj joined | 11:38 |
| ← xiangfu left | 11:38 |
|
bartj
| I have two branches: 1. master 2. branch-2 which has lots of code/features | 11:39 |
|
| but, now it seems that most of the code in branch-2 needs to be re-written | 11:39 |
|
etag
| gitweb can be set as password protected? | 11:40 |
|
thiago
| etag: configure Apache properly | 11:40 |
| → Yuuhi joined | 11:40 |
|
bartj
| so, if I create a new branch (branch-3) should it track master or branch-2 ? | 11:40 |
|
thiago
| banisterfiend: your choice | 11: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 client | 11: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 internet | 11:42 |
|
| whats the best way | 11:42 |
|
thiago
| so you want to use your windows client to access a server | 11:43 |
|
etag
| yes | 11: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 |
|
| erm | 11:44 |
|
| bartj: sorry, I got the wrong nick | 11:44 |
|
bluenovember
| bartj, as thiago said, it's your choice | 11:44 |
|
thiago
| bartj: that answer was to you: "your choice" | 11:44 |
|
| bartj: we don't know how you intend to work in branch-3 | 11:44 |
|
etag
| thiago: looking to setup git server like that so win gui client can access it | 11: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 left | 11:46 |
|
etag
| thiago: ok i was trying to search some thing easier for non tech people | 11:46 |
|
thiago
| etag: if you want to run a server, Linux is recommended | 11: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 that | 11:47 |
|
thiago
| etag: you can use any GUI | 11:47 |
|
| etag: it doesn't depend on the server. | 11:47 |
| → Kaapa joined | 11: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 that | 11: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 machine | 11:48 |
|
thiago
| etag: I'm confused too | 11:49 |
| → cognominal joined | 11:49 |
|
etag
| :) | 11:49 |
|
thiago
| etag: stop talking about Windows and client if your problem is setting up the server | 11: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 Windows | 11: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 ip | 11:50 |
|
thiago
| etag: Linux + ssh | 11:50 |
|
| etag: I recommend gitolite for managing the repositories | 11: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: thanks | 11:50 |
|
thiago
| bartj: that's not what rebase does | 11:50 |
|
| bartj: rebase simply changes the base. Squashing something else. | 11:51 |
|
| git rebase --interactive can squash, but only if you tell it to | 11:51 |
| → thiana joined | 11:51 |
| → itamarjp joined | 11:52 |
| ← jcdny left | 11:53 |
| → stamina_ joined | 11: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 joined | 11:56 |
| ← gretch left | 11:56 |
| ← thiana left | 11:56 |
| → shruggar joined | 11: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 left | 11:59 |
| → fr0sty-away joined | 12:00 |
| → marcob joined | 12:02 |
| → vitor-br joined | 12:02 |
| ← Mage left | 12:03 |
| → Guest67408 joined | 12:03 |
| ← unreal left | 12:04 |
| → shiba_yu36 joined | 12: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 treeish | 12:06 |
|
| right? | 12:07 |
|
bluenovember
| sounds right to me | 12:07 |
|
banisterfiend
| which sounds right? i posted 2 things | 12:08 |
|
bluenovember
| sorry, your version :P | 12:08 |
|
banisterfiend
| hehe | 12:08 |
|
| thx | 12:08 |
|
bluenovember
| branches which have been merged into your current branch | 12:08 |
|
| your ancestors | 12: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
| yes | 12:08 |
|
| thanks | 12:08 |
|
| i just spent 20 mins understanding this http://gitready.com/intermediate/2009/04/03/find-ancestor-commits.html | 12:08 |
| ← Aaaarg left | 12:08 |
|
banisterfiend
| which has it all ass-backwards | 12:08 |
|
cbreak_work
| that's from the man page, so probably correct | 12:08 |
|
banisterfiend
| confused the hell out of me | 12:09 |
|
bluenovember
| =( | 12:09 |
| → isaqual_ joined | 12:10 |
| → unreal joined | 12:11 |
| → Aaaarg joined | 12:11 |
|
isaqual_
| is it possible that git removes untracked files at same when pull ? | 12:11 |
|
banisterfiend
| just 1 thing | 12:11 |
|
| i guess it doesnt make sense to push light weight tags? | 12:12 |
|
parasti
| isaqual_: no | 12:12 |
|
cbreak_work
| banisterfiend: sometimes | 12:12 |
|
parasti
| isaqual_: Git will warn you if this could happen | 12:12 |
| → auscompgeek joined | 12:12 |
|
cbreak_work
| warn? It'll completely halt if that could potentially happen | 12:13 |
|
isaqual_
| parasti: weird.. | 12:13 |
| → linusoleander joined | 12:13 |
| → thiana joined | 12: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 that | 12:13 |
|
cbreak_work
| banisterfiend: no | 12:14 |
|
| you can push all kinds of tags | 12:14 |
|
banisterfiend
| cbreak_work: hmm, ok ill try | 12:14 |
|
cbreak_work
| just use --tags | 12:14 |
| → d0k joined | 12:15 |
|
banisterfiend
| cbreak: do i delete tags the same way i delete branches? git push origin :my_tag | 12:15 |
|
| yep :) | 12:16 |
| ← Kaapa left | 12:18 |
| ← linusoleander left | 12:18 |
| ← kpreid left | 12:18 |
|
banisterfiend
| cbreak_work: how do i see what tags are stored on the remote? | 12:20 |
| → spuz joined | 12:20 |
| → Finkregh joined | 12: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 left | 12:25 |
| → yngress joined | 12:25 |
|
isaqual_
| argh.. Dirty index: cannot revert | 12:25 |
| → unreal joined | 12: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 left | 12: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 | tac | 12:29 |
|
bluenovember
| impressive | 12:30 |
| ← PeaMan left | 12:31 |
| → PeaMan joined | 12:32 |
| → xiangfu joined | 12:32 |
|
spuz
| curtana: thanks! | 12:33 |
| ← PeaMan left | 12:33 |
| → PeaMan joined | 12:33 |
| → banisterfiend joined | 12:36 |
| ← PeaMan left | 12:38 |
| → banisterfiend` joined | 12:39 |
| ← banisterfiend left | 12:40 |
| → kpreid joined | 12:42 |
| → SimonP86 joined | 12:44 |
|
etag
| thiago: any good tutorial to setup gitosis for multiple users? | 12:45 |
| → dnordstrom joined | 12:45 |
| ← napster_123 left | 12:45 |
|
etag
| i mean with gitolite | 12:45 |
|
bremner
| etag: is there something missing from the gitolite documentation? | 12:46 |
| → asmega joined | 12: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 joined | 12:49 |
| ← napster_123 left | 12:50 |
| ← banisterfiend` left | 12:51 |
| → banisterfiend joined | 12:51 |
| → tatsuya_ joined | 12:52 |
| ← tatsuya left | 12:52 |
| ← bartj left | 12:52 |
|
etag
| bremmer: just confuse in multi client settings | 12:52 |
| ← dquestions left | 12:52 |
|
etag
| bremner: i hope these steps will be repeated for setting up another client as well | 12:53 |
| → dquestions joined | 12:53 |
|
bremner
| etag: can you point to the part of the docs you mean? | 12:55 |
|
etag
| wait | 12:55 |
| → napster_123 joined | 12:57 |
| → Ecco joined | 12:57 |
|
Ecco
| Hi everyone. I'm setting up gitosis on a Debian machine. | 12:57 |
| → cannonball joined | 12:57 |
| ← cannonball left | 12:57 |
| → cannonball joined | 12: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 there | 12:58 |
|
bremner
| Ecco: you should probably use gitolite instead of gitosis | 12: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 me | 12:58 |
|
| Plus I don't care about per-branch right managment | 12:59 |
|
bremner
| as compared to gitosis? | 12:59 |
|
| weird | 12:59 |
| ← Finkregh left | 12:59 |
|
bremner
| Ecco: the short version is that no one knows the answers to gitosis questions | 12:59 |
|
Ecco
| :-) | 12:59 |
| → gebi joined | 13:00 |
| ← gebi left | 13:00 |
| → gebi joined | 13:00 |
| → psankar joined | 13: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 superset | 13:01 |
| ← banisterfiend left | 13:01 |
| ← dburba left | 13:01 |
|
bremner
| etag: that only needs to be done once | 13:02 |
|
| etag: you can have the gitolite-admin repo on as many clients as you want | 13:02 |
| → banisterfiend joined | 13:03 |
|
etag
| bremner: docs are reall rough, it even dosent specify that you need to create users befure su | 13:04 |
|
bremner
| etag: maybe they assume basic unix sysadmin knowledge. | 13:05 |
| → acs joined | 13:05 |
| → thierryp joined | 13:05 |
|
bremner
| see "technical skills" | 13:05 |
|
etag
| bremner: but its kind of pretty rough | 13:05 |
|
_ikke_
| Is it posible to let git log --graph also show branch names? | 13:06 |
| ChanServ set mode: +v | 13:06 |
|
acs
| I made 2 commits, and I wish to unify both into only 1. How can I do it? | 13:07 |
| → gusnan joined | 13: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 list | 13:08 |
|
| actually, the user should be created by the package installation | 13: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 left | 13:10 |
|
bremner
| acs: use rebase --interactive and squash the second onto the first | 13:10 |
| → psankar joined | 13:11 |
| ← Amorphous left | 13:11 |
| ← mmc left | 13:13 |
| ← thiana left | 13:14 |
| → madewokherd joined | 13:15 |
| → Fullmoon joined | 13:16 |
| → rolfb joined | 13:16 |
| → thiana joined | 13:16 |
| → linusoleander joined | 13:17 |
|
Ecco
| Crap | 13:18 |
|
| your git version is older than 1.6.2 | 13:18 |
|
| I'm on Debian Lenny :-/ | 13:18 |
| ← linusoleander left | 13:18 |
|
bremner
| there is backports | 13:18 |
|
Ecco
| pff, fuck | 13:19 |
|
| How should I do that ? | 13:19 |
| ← banisterfiend left | 13:19 |
|
acs
| bremner: thanks | 13:19 |
| ← welly left | 13:19 |
|
bremner
| Ecco: backports.debian.org | 13:19 |
|
Ecco
| thanks | 13:19 |
| ← Fullmoon left | 13:20 |
| → _pingu joined | 13:20 |
| ← isaqual_ left | 13:21 |
| ← _pingu left | 13:21 |
| ← dbbnj left | 13: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 joined | 13:25 |
| ← kanru left | 13:26 |
| → SimonP86_ joined | 13:29 |
| → banisterfiend joined | 13:30 |
| ← SimonP86 left | 13:32 |
| ← banisterfiend left | 13: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-tutorial | 13:32 |
| → Amorphous joined | 13:34 |
| → zakuni joined | 13:34 |
| → sebersole joined | 13:35 |
| → goshawk joined | 13:38 |
| → SianaGearz joined | 13:42 |
| ← PCJockey left | 13:42 |
| → heina joined | 13:42 |
| ← etag left | 13:43 |
| → avinashhm joined | 13:45 |
| ← jelmer left | 13:46 |
| ← MmikeMRMA left | 13:46 |
| → jaql joined | 13:47 |
| → etag joined | 13:47 |
| ← tstclair left | 13:48 |
| ← heina left | 13:48 |
| → tstclair joined | 13:48 |
| → jelmer joined | 13:51 |
| → dr_win joined | 13:52 |
| ← ereslibre left | 13:53 |
| ← rolfb left | 13:53 |
| → MattDiPasquale joined | 13:54 |
| → smuf joined | 13:54 |
| → project2501b joined | 13:55 |
| ← OOPMan left | 13:59 |
| → kanru joined | 14:00 |
| ← sonnym left | 14:01 |
| → banisterfiend joined | 14:02 |
| ← banisterfiend left | 14:03 |
| ← BiggFREE left | 14:03 |
| ← psankar left | 14:04 |
| → isaqual_ joined | 14:04 |
| → FYLGood joined | 14:04 |
| ← mtkd_ left | 14:05 |
| → banisterfiend joined | 14:06 |
| ← artefon left | 14:07 |
| ← edude03 left | 14:07 |
| ← rraasch left | 14:08 |
| → shentino joined | 14:08 |
| ← etag left | 14:08 |
| → edude03 joined | 14:09 |
| → sepen joined | 14:09 |
| → linusoleander joined | 14:10 |
| ← banisterfiend left | 14:11 |
| → nullvariable joined | 14:11 |
| → nsdk joined | 14:12 |
| ← napster_123 left | 14:12 |
| ← Manifesto left | 14:12 |
| ← eletuchy left | 14:13 |
| ← isaqual_ left | 14:14 |
| ← kpreid left | 14:14 |
| ← nsdk left | 14:15 |
| → mmc joined | 14:17 |
| ← linusoleander left | 14:18 |
| → banisterfiend joined | 14:19 |
| ← edude03 left | 14:21 |
| cpg → cpg|away | 14:22 |
| ← genomega left | 14:22 |
| ← mlq left | 14:25 |
| → bushwakko joined | 14:30 |
| → klando joined | 14:34 |
| → rchavik joined | 14:34 |
| ← banisterfiend left | 14:35 |
| ChanServ set mode: +v | 14:35 |
| → zombor joined | 14:35 |
|
klando
| Hello, I wonder how to create/transform a git respository to a git --bare repository ? | 14:35 |
|
broonie
| c! | 14:37 |
| → federico2 joined | 14:39 |
|
federico2
| hi there | 14:39 |
|
shruggar
| klando, what is your goal? Did you just type the wrong command when cloning? | 14:40 |
|
klando
| I think so | 14:40 |
|
| I now have git not-bare where I want to push easely, and also some co-wrker | 14:40 |
| → genomega joined | 14:41 |
|
klando
| I wnt to move it to a git-bare | 14:41 |
|
gebi
| klando: set the bare flag, remove the working copy and rename .git to <repo>.git | 14:41 |
| → kpreid joined | 14:41 |
|
klando
| gebi, ok, remove working copy, mean : just keep the .git ? | 14:41 |
|
| (and rename...) | 14:41 |
|
gebi
| exactly | 14:42 |
|
klando
| thank you gebi and shruggar | 14:42 |
|
gebi
| a bare git repo is nothing fancy | 14:42 |
|
| ;) | 14:42 |
| → banisterfiend joined | 14:43 |
| → kukks joined | 14:45 |
|
Eiler
| when i install git, how do i get git gui? in gentoo i just did emerge git | 14:46 |
| → PeaMan joined | 14:46 |
| ← acs left | 14:46 |
| → tasslehoff joined | 14:48 |
| ← EricInBNE left | 14:49 |
| → dbbnj joined | 14:49 |
| → iizukaway__ joined | 14:50 |
| → makubi joined | 14:50 |
| → mtkd joined | 14:53 |
| → q0rban joined | 14:53 |
| → sonnym joined | 14:53 |
| → rgr joined | 14:54 |
| ← unreal left | 14:55 |
| → kylehayes joined | 14:55 |
| ← kylehayes left | 14:55 |
| Hutch[S]|away → Hutch[S] | 14:55 |
| → kylehayes joined | 14:55 |
| → unreal joined | 14:56 |
| → NickyP joined | 14:56 |
| → tech13 joined | 14:58 |
| ← dbbnj left | 14:59 |
|
kanzure
| can i get git log --grep to search commit metadata (not just commit messages)? | 15:00 |
| → xiong joined | 15:00 |
| ← tech13 left | 15:00 |
|
engla
| kanzure: nope. git log -S searches the diffs | 15:01 |
| → dbbnj joined | 15:01 |
| → alberto56 joined | 15:01 |
| ← Adaptee left | 15: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 left | 15:02 |
| → sftp joined | 15:02 |
|
kanzure
| SethRobertson: you're showing up in a lot of my search results | 15:02 |
| ← freimatz left | 15: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 timestamp | 15:03 |
|
| then to write a script to find pairs like this for me | 15:03 |
| ← sepen left | 15: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 left | 15:04 |
|
kanzure
| git log --all | grep "03:17:59" seems to work for me | 15:04 |
| ← banisterfiend left | 15:05 |
| → psankar joined | 15:06 |
| → aah joined | 15:08 |
| ← frogonwheels left | 15:08 |
| → tewecske joined | 15:10 |
| → rayners joined | 15:10 |
| ← denysonique left | 15:10 |
| → pigdude joined | 15:10 |
| → petercoulton joined | 15:10 |
| ← dquestions left | 15:10 |
| → dquestions joined | 15:11 |
| → stringoO joined | 15:11 |
| → beatak joined | 15:11 |
| ← Wyverald left | 15:12 |
| ← SimonP86_ left | 15:12 |
| → SimonP86_ joined | 15:13 |
| ← SimonP86_ left | 15:13 |
| → banisterfiend joined | 15:13 |
| ← tatsuya_ left | 15:15 |
| → giallu joined | 15:15 |
| ← ph^ left | 15:16 |
| ← banisterfiend left | 15:18 |
| → hobodave joined | 15:18 |
| → smolyn joined | 15:20 |
| → fowlduck joined | 15:20 |
| ← hobodave left | 15:21 |
| → boombatower joined | 15:21 |
| ← boombatower left | 15:21 |
| → boombatower joined | 15:21 |
| ← bushwakko left | 15:24 |
| ← kpreid left | 15:24 |
| → banisterfiend joined | 15:24 |
| → schacon joined | 15:24 |
| → WebDragon joined | 15:25 |
|
banisterfiend
| ok how the heck do i use git notes? :( | 15:25 |
|
| i want to add a note | 15:25 |
|
| im doing: git notes add -m "hello" HEAD | 15:26 |
| ← pratz left | 15:26 |
|
banisterfiend
| but it's not working | 15:26 |
| ← zakuni left | 15:26 |
| → artefon joined | 15:26 |
| → mfacenet joined | 15:27 |
| ← mfacenet left | 15:27 |
| → mfacenet joined | 15:27 |
| → stliu joined | 15:27 |
| ← stliu left | 15:27 |
| → stliu joined | 15:27 |
|
parasti
| banisterfiend: git notes add | 15:28 |
|
banisterfiend
| parasti: can you give me a full example? cos im doing that and it isnt working | 15:28 |
|
parasti
| that is the full example | 15: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 that | 15:29 |
|
| engla: i dont get an error, i just get usage instructions | 15: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.0 | 15:30 |
| ← Modius left | 15:30 |
|
banisterfiend
| parasti: no options | 15:30 |
|
engla
| 1.7.0 version of notes has much less features | 15:30 |
|
banisterfiend
| what version of git are you running? | 15:31 |
|
engla
| I'm using 1.7.2 | 15:31 |
|
banisterfiend
| oh ok | 15:31 |
|
| can i safely upgrade it in windows? | 15:31 |
|
parasti
| seems git notes add was added after 1.7.0.2 | 15:31 |
|
banisterfiend
| or will i lose or my config settings? | 15:31 |
|
engla
| git upgrades are very safe | 15:32 |
| → WebDragon|laptop joined | 15:32 |
| ← WebDragon left | 15:32 |
|
banisterfiend
| is 1.7.3 preview stable enough? | 15:32 |
| WebDragon|laptop → WebDragon | 15:32 |
|
| engla has no clue about msysgit | 15:33 |
|
curtana
| it should be fine | 15:36 |
| → alberto56 joined | 15:37 |
| ← thierryp left | 15:37 |
| ← alberto56 left | 15: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 dev | 15:39 |
|
| but is there a better way? | 15:39 |
| ← noktoborus_ left | 15:40 |
|
curtana
| banisterfiend, gitk origin/dev...dev | 15:40 |
|
| or git log --graph origin/dev...dev | 15:40 |
| → steph021 joined | 15:41 |
| ← xiangfu left | 15:41 |
| → thomas_b joined | 15:41 |
|
banisterfiend
| nice thanks | 15:41 |
|
| does anyone use git cherry though? | 15:41 |
| → tychoish joined | 15:42 |
| ← steph021 left | 15:42 |
|
banisterfiend
| hot doi find the common ancestor of two commits? | 15:43 |
| → unreal_ joined | 15:44 |
| ← unreal left | 15:44 |
| ← dbbnj left | 15:44 |
|
fr0sty
| man git-merge-base | 15:44 |
|
jast
| the 'git-merge-base' manpage can be found at http://git.or.cz/man/git-merge-base [automatic message] | 15:44 |
| unreal_ → unreal | 15:45 |
| → alberto56 joined | 15:45 |
|
banisterfiend
| fr0sty: thanks but it's just giving me the SHA-1 | 15:45 |
| → dbbnj joined | 15: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 left | 15: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 commit | 15:46 |
| ← JEEB left | 15:46 |
|
fr0sty
| man git-show | 15: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 commit | 15:46 |
|
fr0sty
| or git log -1 <sha> | 15:47 |
|
| git show <sha> | 15:47 |
|
parasti
| git show $(git merge-base ...) | 15:47 |
|
banisterfiend
| thanks | 15:47 |
| ← tasslehoff left | 15:48 |
| ← project2501b left | 15:48 |
| ← goshawk left | 15:50 |
| ← rsewill left | 15:50 |
| ← alberto56 left | 15:51 |
| ← jelmer left | 15:52 |
| → mlq joined | 15:52 |
| ← mlq left | 15:52 |
| → mlq joined | 15: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 left | 15:55 |
| → JEEB joined | 15:55 |
|
fr0sty
| banisterfiend: pretty much everybody wraps | 15:55 |
| ← dbbnj left | 15:55 |
|
fr0sty
| there is lib2git but it is still immature (though I guess development is ongoing again.) | 15:56 |
| ← xiong left | 15:56 |
|
banisterfiend
| hmm | 15: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 left | 15:56 |
|
fr0sty
| why would it have been otherwise | 15:56 |
| ← itamarjp left | 15:56 |
|
fr0sty
| ? | 15:56 |
| → carutsu_ joined | 15:57 |
|
banisterfiend
| i guess so that programs can tap into git functionality without having to resort to shelling out all the time | 15:57 |
|
| which is kinda ugly imo | 15:57 |
| → msieradzki joined | 15: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 out | 15:58 |
| → logankoester joined | 15:58 |
|
fr0sty
| and bash | 15:58 |
|
| or sh | 15:58 |
|
sitaram
| banisterfiend: shell is ugly? It's fast and clean... | 15:58 |
| ← stliu left | 15:58 |
|
jast
| libgit2 is an attempt to implement all the interesting stuff in git as a library | 15:59 |
|
banisterfiend
| cool | 15: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 mildly | 15:59 |
| → jelmer joined | 15:59 |
|
| fr0sty wonders what, precisely, banisterfiend is trying to accomplish. | 15:59 |
| → Polysics joined | 16:00 |
|
jast
| well, especially on servers, running all git operations in new processes can incur significant overhead | 16: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 CLI | 16:00 |
|
banisterfiend
| fr0sty: because git is starting to be used in many situations where a CLI doesnt make a lot of sense | 16:01 |
|
| fr0sty: like in RubyDrop for example, where git use is entirely automated to implement a kind of file store | 16:01 |
| → robotarmy joined | 16:02 |
|
fr0sty
| banisterfiend: just think of the CLI as 'universal API' | 16:02 |
| → krainboltgreene joined | 16:02 |
|
| sitaram nods | 16:02 |
|
banisterfiend
| and more as new applications for git are found where git use is totally automated and controlled by a program | 16:02 |
|
| ok | 16: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 left | 16: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 joined | 16:04 |
|
broonie
| More so on Windows, Windows process creation overhead is hideous. | 16:04 |
| → napster_123 joined | 16:04 |
| ← aah left | 16:05 |
| → bcardarella joined | 16:05 |
| → uau joined | 16:07 |
| ← dbbnj left | 16:08 |
| → FND joined | 16:09 |
| ← opalka left | 16: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 joined | 16:09 |
| → dbbnj joined | 16:10 |
| ← dbbnj left | 16:10 |
| → slonopotamus joined | 16:10 |
| → dbbnj joined | 16:10 |
| ← banisterfiend left | 16:11 |
|
Polysics
| hello | 16:11 |
| → warbee joined | 16: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 sample | 16:12 |
| ← Rhonda left | 16:12 |
|
jast
| you can simply add .gitignore files to the repository | 16:12 |
|
| oh, ignore me | 16:12 |
|
| I'm a bit slow today | 16:12 |
|
Polysics
| but i need to call it, say, database.yml.sample? | 16:13 |
| → makubi_ joined | 16:13 |
|
Polysics
| sounds good enough | 16:13 |
|
fr0sty
| FND: do the merge again in a throwaway branch. | 16:13 |
| ← makubi_ left | 16:13 |
| ← makubi left | 16:13 |
| → OOPMan joined | 16:13 |
|
FND
| fr0sty: it's about reviewing what's already been committed | 16:13 |
|
jast
| fr0sty: well, the main case is programs that call git lots of times, e.g. gitweb lookalikes | 16:13 |
| → makubi joined | 16:14 |
|
fr0sty
| 'git show <merge_commit>' might tell you something interesting. | 16:14 |
| → Dave^| joined | 16:14 |
| ← kanru left | 16:14 |
|
FND
| will check that, fr0sty (been using "git log --stat -p") | 16:14 |
|
jast
| same difference | 16:14 |
| ← Dave^| left | 16:14 |
| ← Polysics left | 16:15 |
| → Dave^| joined | 16:15 |
| → Rhonda joined | 16:15 |
|
FND
| jast: in case you were referring to me, git log --stat -p shows no diff for merge commits | 16:15 |
| → tj_ joined | 16:15 |
| tj_ → tjholowaychuk | 16:15 |
|
jast
| then git show probably won't show it either | 16:15 |
| ← Dave^| left | 16:16 |
| → Rh0nda joined | 16:16 |
| ← makubi left | 16:16 |
| → Dave^| joined | 16:16 |
| ← cbreak_work left | 16:16 |
|
FND
| it does, jast | 16:17 |
| → banisterfiend joined | 16:17 |
|
FND
| which is odd and a bit annoying... | 16:17 |
| ← Rhonda left | 16:17 |
| → tbf joined | 16:17 |
| → yairgo joined | 16:18 |
|
fr0sty
| FND: what are you expecting to see? | 16:18 |
|
FND
| fr0sty: http://pastebin.com/r0u7mVNL is what git show displays, which is useful | 16:18 |
| ← Rh0nda left | 16:18 |
| → Rhonda joined | 16:19 |
| → saschpe joined | 16:19 |
|
FND
| basically, if there were conflicts, I need to be able to review how they were resolved | 16:19 |
| → _psychic_ joined | 16:19 |
| → sigmonsays joined | 16: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 left | 16:22 |
| → Rhonda joined | 16:22 |
| → ericindc joined | 16:22 |
| ← Rhonda left | 16:23 |
| → Rhonda joined | 16:23 |
| → hal joined | 16:23 |
| ← saschpe left | 16: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 remains | 16:24 |
|
| can anyone recommend a course of action please? | 16:24 |
| → G__81 joined | 16:24 |
| → saschpe joined | 16:24 |
|
fr0sty
| 'git merge --ff-only upstream/master | 16: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~10 | 16:25 |
| ← aresnick left | 16: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 necessary | 16:25 |
| ← sako left | 16:26 |
|
fr0sty
| heh, or not... | 16:26 |
|
| don't do format-patch myself. | 16:26 |
|
| hal: dunno. something odd in your .gitconfig | 16:26 |
| ← napster_123 left | 16:26 |
|
hal
| hmm | 16:27 |
|
| ok | 16:27 |
|
| thank you fr0ggie | 16:27 |
|
fr0sty
| np. | 16:27 |
| ← slonopotamus left | 16:27 |
|
G__81
| fr0sty, thanks | 16:27 |
|
parasti
| I had to laugh :P | 16:27 |
|
hal
| fr0sty: that doesn't work | 16:28 |
|
| fr0ggie: it doesn't recognise the syntax | 16:28 |
| ← tbf left | 16:28 |
|
| fr0ggie grabs chainsaw | 16:28 |
| ← psoo left | 16:28 |
|
hal
| ok fr0sty , I've got it thank you | 16:28 |
|
parasti
| easy now, Dave | 16:29 |
|
hal
| fr0ggie: sorry ! :) | 16:29 |
| → napster_123 joined | 16:29 |
| → mriber joined | 16:31 |
| → _ollie joined | 16:32 |
| → Heimidal joined | 16:32 |
| → kpreid joined | 16:33 |
| → phantomcircuit joined | 16:34 |
| Hutch[S] → Hutch[S]|away | 16:34 |
| ← gusnan left | 16:34 |
| ← _ollie left | 16:35 |
| ← mriber left | 16:35 |
| → mriber joined | 16:36 |
| ChanServ set mode: +v | 16: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 left | 16:38 |
| → WebDragon|laptop joined | 16:39 |
| ← napster_123 left | 16:39 |
| → nonno joined | 16:40 |
| → nevyn^__ joined | 16:41 |
| ← nevyn^_ left | 16:41 |
| ← nevyn^__ left | 16:41 |
| → nevyn^_ joined | 16:41 |
| → steph021 joined | 16:41 |
| ← steph021 left | 16:41 |
| → steph021 joined | 16:41 |
| → Yuffster joined | 16:41 |
| → isaqual_ joined | 16:42 |
| ← WebDragon left | 16:42 |
| WebDragon|laptop → WebDragon | 16:43 |
| ← banisterfiend left | 16:43 |
|
Fangorn_
| mriber: creating a new locally is easy; git checkout -b new_branch_name master | 16:45 |
|
| will create a new branch based on master (new_branch_name is up to you to specify) | 16:45 |
| ← mabrand left | 16:49 |
| → ntoll joined | 16:49 |
| → joel_falcou joined | 16:50 |
| ← smolyn left | 16:50 |
| → bentob0x joined | 16:50 |
| → mabrand joined | 16:51 |
| → abhinav_singh joined | 16:51 |
| → ruien1 joined | 16: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 joined | 16: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 diff | 16:52 |
|
| any ideas or suggestions | 16:52 |
| ← kokx left | 16:53 |
| → gusnan joined | 16:53 |
| → kokx joined | 16:53 |
| → fahadsadah joined | 16:54 |
| ← hyperair left | 16:54 |
|
shorg
| You could tag each revision say, slide_A,slide_B,slide_C and then do git checkout slide_A | 16:54 |
| → ruskie joined | 16: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 server | 16:54 |
|
ntoll
| shorg, aha | 16:55 |
|
| shorg, thanks | 16:56 |
|
shorg
| abhinav: Check out http://progit.org/book/ch3-0.html | 16:56 |
| → LiamH joined | 16:56 |
| → mikepack joined | 16:56 |
|
shorg
| The basic command your looking for git push <remote server> <branch to push> | 16:56 |
| ← bentob0x left | 16:57 |
| → ymasory joined | 16: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_ left | 16:59 |
| ← DrNick left | 16:59 |
| ← OOPMan left | 17:00 |
| → _psychic_ joined | 17:00 |
| → ph^ joined | 17:01 |
| → __name__ joined | 17:01 |
| ← __name__ left | 17:01 |
| → __name__ joined | 17:01 |
| → jjcli_ joined | 17:01 |
| ← MikhX left | 17:02 |
| ← Vardan left | 17:02 |
| → ignatp joined | 17:02 |
| ← mriber left | 17:03 |
| ← jjcli left | 17:04 |
|
ntoll
| shorg, ok.... your suggestion works exactly how I imagined I wanted to work | 17:04 |
|
| shorg, thanks | 17:04 |
| ← stamina_ left | 17:05 |
|
shorg
| great! | 17:05 |
| → brntbeer joined | 17:05 |
|
shorg
| Just don't forget to push your tags before you presentation ;-) | 17:06 |
| ← smuf left | 17:06 |
| ← flazz left | 17:06 |
| → DrNick joined | 17:08 |
| ← ayanes left | 17:10 |
| → mgorbach joined | 17: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 joined | 17:11 |
| ← mtkd left | 17:11 |
| → tbeadle joined | 17:11 |
|
mgorbach
| I do some work on a branch (dyldOptimization), then merged that branch onto trunk with a --squash | 17:12 |
| ← marc_kdab left | 17:12 |
| → yhager_ joined | 17:12 |
| ← Zhonghua left | 17: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 joined | 17:14 |
|
tbeadle
| or how do I get master to point at my detached HEAD? | 17:15 |
| → ijuma_ joined | 17:16 |
| → nevyn^__ joined | 17:16 |
| ← nevyn^__ left | 17:17 |
| ← dquestions left | 17:17 |
| → dquestions joined | 17:17 |
| ← nevyn^_ left | 17:19 |
| → kenichi joined | 17:20 |
| → kar8nga joined | 17:20 |
| → opalka joined | 17:21 |
| ← G__81 left | 17:21 |
| → kipras joined | 17:22 |
| ← mastro left | 17:23 |
| → MikhX joined | 17:23 |
| ← yairgo left | 17:26 |
| ← frakturfreak left | 17:26 |
| PeaMan → PeaMan_ | 17:27 |
| Hutch[S]|away → Hutch[S] | 17:27 |
| → dreiss joined | 17:27 |
| ← federico2 left | 17:28 |
| ← g0bl1n left | 17:28 |
|
piotr_
| hi, what does it mean if I have the same file in Changed but not updated and Changes to be committed | 17:28 |
|
| I just commited handpicked files from the stash | 17:28 |
|
DrNick
| you modified the file, staged it for commit, and then modified it again | 17:30 |
|
piotr_
| yes but conceptually? | 17:30 |
|
| diff was different when git diff --cached and git diff | 17:30 |
| → napster_123 joined | 17:30 |
|
piotr_
| is like part of file staged and part not staged? | 17:30 |
|
| I'm confufsed | 17:31 |
|
Fangorn_
| diff --cached is a diff between the index (staged in your parlance) and the current branch | 17:32 |
|
| diff by itself is a diff between your working directory and the index | 17:32 |
| → dev001 joined | 17:33 |
| → frakturfreak joined | 17:33 |
| ← giallu left | 17:33 |
| → smolyn joined | 17:33 |
| → doener joined | 17:33 |
|
parasti
| consider: Git stores the entire tree at each commit, the index is where you prepare that tree | 17:34 |
|
| there are no "parts of", there's a file in index, and a file in your work tree | 17:34 |
|
| and they are different from what is committed and from each other | 17:34 |
| ← Mannequin left | 17:34 |
| ← mikepack left | 17:35 |
| ← abhinav_singh left | 17:35 |
|
__name__
| You can stage parts of files though. | 17:35 |
| → FsTluxe joined | 17:35 |
| → flazz joined | 17:35 |
| ← flazz left | 17: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 joined | 17:36 |
|
piotr_
| thanks guys | 17:36 |
|
Fangorn_
| dev001: git checkout master | 17:37 |
| ← FND left | 17:37 |
|
parasti
| __name__: there is such a thing, but it does not result in a "part of" something being stored in the index | 17:37 |
|
__name__
| parasti: Yes | 17:37 |
| → noahcampbell joined | 17:37 |
| ← gebi left | 17:38 |
| ← mgorbach left | 17:38 |
| ← kelvie_ left | 17:39 |
| → makubi joined | 17:40 |
| → dcsobralWork joined | 17:40 |
|
dev001
| Fangorn_: oh for heaven's sake! i was fubaring it all with a "-b" . thanks! | 17:40 |
| → ArseneRei joined | 17:40 |
|
Fangorn_
| dev001: -b creates a new named branch off an existing on | 17:41 |
|
| one | 17:41 |
| → schacon joined | 17:41 |
| → JungleSavvy joined | 17:42 |
| → _ollie joined | 17:42 |
| ← guardian left | 17:42 |
|
dev001
| Fangorn_: yep, thx. i was led astray by confusion abt "You are in 'detached HEAD' state.". re-reading stuff ... | 17:42 |
| → hyperair joined | 17:43 |
| → crazed joined | 17:46 |
|
crazed
| hm, what hook script can i use to execute something on a push? | 17:46 |
| ← ph^ left | 17:46 |
|
crazed
| basically i'm pushing code to a repo, on that repo i want some action to be taken | 17:46 |
|
| maybe hooks isn't the right place though.. since the git repo is remote | 17:47 |
| → xtagon joined | 17:47 |
| → Destos joined | 17:48 |
| ← _ollie left | 17:52 |
| → kelvie_ joined | 17:52 |
| ← shruggar left | 17:52 |
|
Fangorn_
| crazed: web search for gitolite and hooks | 17:53 |
| → ph^ joined | 17:53 |
|
crazed
| post-update was teh hook i was looking for | 17:53 |
|
| sweet, i think i can work off this | 17:53 |
|
| just trying to auto-deploy code checkins to a dev server | 17:54 |
| → towski joined | 17:54 |
|
crazed
| and this should do the trick | 17:54 |
| ← ruien1 left | 17:55 |
| ← galderz left | 17:55 |
| ← dev001 left | 17:55 |
| ← stringoO left | 17:55 |
| → jfkw joined | 17:56 |
| → jcody joined | 17:56 |
| ← chrisred left | 17:56 |
| ← ketin left | 17:58 |
| ← tbeadle left | 17:58 |
| ChanServ set mode: +v | 17: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 left | 17:59 |
|
doener
| jcody: what do you mean by "reverting to a previous commit"? | 18:00 |
| Hutch[S] → Hutch[S]|away | 18:00 |
| ← petran left | 18:00 |
| ← Schmallon left | 18: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 it | 18:01 |
| → svnlto joined | 18:02 |
| → jds joined | 18:02 |
| ← dnordstrom left | 18: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 communicate | 18:02 |
| → marc_kdab joined | 18: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 reach | 18:03 |
| ← chikei left | 18:03 |
| → slakmagik joined | 18:03 |
| ← slakmagik left | 18:03 |
| → slakmagik joined | 18:03 |
|
doener
| parasti: wrong when there are files present in the index that aren't in $commit | 18:03 |
| → bauruine joined | 18: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 thought | 18:04 |
|
parasti
| oh? the ever so smart checkout isn't smart enough? :P | 18:04 |
|
doener
| jcody: git read-tree -u --reset $commit; # Resets the working tree and index to the tree of $commit | 18:04 |
|
parasti
| read-tree is ugly and low level, hence I tried to avoid it | 18:04 |
|
doener
| jcody: after that "git commit" to create a new commit with that tree | 18:05 |
| ← gusnan left | 18:05 |
| ← cognominal left | 18:05 |
|
doener
| jcody: then dcommit | 18: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 joined | 18:05 |
|
parasti
| one or the other, don't do both | 18:05 |
|
| preferably doener's | 18:05 |
| → phaedrix joined | 18:06 |
|
doener
| parasti: the clean way would be: git reset --hard $commit; git merge -s our -m "Override bad history" ORIG_HEAD | 18:06 |
|
| parasti: but that confuses git-svn | 18:06 |
| → friskd joined | 18:06 |
|
doener
| parasti: so read-tree is the next best choice ;-) | 18:06 |
|
| parasti: alternatively: git reset $commit -- .; git checkout -- .; git commit | 18:07 |
|
| parasti: that leaves the new files as untracked | 18: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 :P | 18: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 removed | 18:08 |
|
parasti
| -- means "treat whatever follows as a path" | 18:08 |
|
jcody
| ah, gotcha, misread that. thanks :) | 18:08 |
| ← iaj left | 18:08 |
| → iaj joined | 18:08 |
|
parasti
| doener: that makes sense, just never occurred to me | 18:09 |
| Hutch[S]|away → Hutch[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 572 | 18:10 |
|
| but git mergetool tells me "no files need merging" | 18:10 |
| → stringoO joined | 18:10 |
| ← teweWork left | 18:10 |
| → WebDragon|laptop joined | 18:11 |
|
doener
| parasti: no problem ;-) And sorry for being "terse" initially... Shitty day | 18:11 |
| → Evious joined | 18:12 |
|
jcody
| should i give a shot to the read-tree solution? | 18:13 |
| ← dreiss left | 18:13 |
|
parasti
| yes you should, but after you get your tree back into good shape | 18:13 |
|
| well, branch, not tree | 18: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 SVN | 18:14 |
|
| and dcommit is complaining about that | 18:14 |
| ← WebDragon left | 18:14 |
|
jcody
| ah, fair enough, so shall i simply try rebasing first? | 18:15 |
|
parasti
| I would do it differently, though | 18:15 |
|
| I don't know what state rebase would leave you in | 18:15 |
|
| so I suggest you git svn fetch instead | 18:15 |
|
| and then git reset --hard svnbranch | 18:15 |
|
| and then do the read-tree | 18:16 |
|
jcody
| git svn fetch seemed to do nothing for me | 18:16 |
|
parasti
| possible | 18:16 |
|
jcody
| is it normal to get no confirmation message there? | 18:16 |
| ← iaj left | 18:16 |
|
parasti
| just leave that step out then | 18: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 svn | 18:19 |
|
| ?* | 18:19 |
|
parasti
| jcody: did you follow through with all the steps? | 18:19 |
| ← stringoO left | 18:19 |
|
jcody
| i did. but i got fairly little confirmation from the command line along the way | 18: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 joined | 18:21 |
| → Textmode joined | 18:21 |
| ← mmc left | 18: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 joined | 18:22 |
| ← hyperair left | 18:23 |
| → stringoO joined | 18:23 |
| → esc joined | 18:23 |
| ← psankar left | 18:23 |
|
parasti
| jcody: what did you reset --hard to then? | 18:23 |
|
jcody
| i did git reset --hard master | 18:23 |
| → galderz joined | 18:23 |
| → deanc joined | 18:23 |
|
parasti
| are you on master? | 18:23 |
| ← bluenovember left | 18:24 |
|
jcody
| i am. only a single branch here. | 18:24 |
|
parasti
| that did nothing then :P | 18:24 |
| → dnordstrom joined | 18: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 joined | 18:25 |
| ← galderz left | 18: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 that | 18:25 |
| ← mfacenet left | 18:25 |
|
jcody
| ah, so git reset --hard git-svn | 18:25 |
|
parasti
| that seems about right | 18:26 |
| → bronson joined | 18:26 |
|
parasti
| and _now_ go through with the read-tree, commit, etc | 18: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 HEAD | 18:27 |
|
Fangorn_
| deanc: git add will add files from the working directory to the index, which is where the upcoming commit is prepared | 18:27 |
|
kevinmonk
| and tried doing a pull | 18:27 |
| → srid joined | 18:27 |
|
deanc
| Fangorn_, yep i can do that easy enough. But then i have loads of files to commit, and loads to ignore | 18: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 files | 18: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 this | 18: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 --interactive | 18: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 joined | 18:31 |
|
Fangorn_
| deanc: it'll add new/changed files to the commit queue | 18:31 |
|
kevinmonk
| Ahhhh.. FOund it! Git clean | 18:31 |
|
| :) | 18:31 |
|
deanc
| okay Fangorn_, im reading the manual :) | 18:32 |
| ← cylence left | 18:33 |
| → madsy joined | 18:33 |
| ← madsy left | 18:33 |
| → madsy joined | 18:33 |
| ← isaqual_ left | 18:33 |
|
Fangorn_
| deanc: see the Interactive Mode section of man git-add | 18:33 |
|
jast
| deanc: the 'git-add' manpage can be found at http://git.or.cz/man/git-add [automatic message] | 18:33 |
| → dogmatic69 joined | 18:34 |
| → spearce joined | 18:34 |
|
dogmatic69
| hi all, is it possible it init only some submodules | 18:34 |
| → gebi joined | 18:35 |
| ← MikhX left | 18:35 |
| → MikhX joined | 18: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 :o | 18: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-commit | 18:37 |
| ← klando left | 18:37 |
|
deanc
| okay but the problem still remains | 18:37 |
|
| i have a few files here that i dont actually want to commit | 18:38 |
|
| out of the 50 or so | 18:38 |
|
| is there an interactive commit? | 18:38 |
|
dogmatic69
| git checkout -- file | 18:38 |
|
| that will undo the git add | 18:38 |
|
deanc
| that's not what im trying to do :p | 18:38 |
| → spaceonline joined | 18: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 them | 18:39 |
| ← sebersole left | 18: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 commit | 18:39 |
|
| and the interactive mode is git-add -i or git-add --interactive | 18:39 |
|
deanc
| Fangorn_ the changes were made to files already in the index | 18: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 ther | 18:40 |
| → enherit joined | 18:40 |
|
cbreak
| deanc: it's not FILES that are in the index | 18:40 |
|
| it's content | 18:40 |
|
dogmatic69
| git reset --hard undoes changes | 18:40 |
| → plediii joined | 18:40 |
|
Fangorn_
| deanc: run git-status, and tell me the status of 1 of the files that you don't want committed | 18:40 |
|
deanc
| # deleted: app/config/database.default.php | 18:41 |
| ← artefon left | 18: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 out | 18:42 |
|
cbreak
| then don't | 18:42 |
|
deanc
| it's renamed to database.php, to be precise | 18:42 |
|
cbreak
| just leave it alone | 18: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 made | 18:42 |
|
cbreak
| git checkout database.default.php | 18:42 |
|
| the file will be back again | 18:42 |
|
deanc
| i dont want to revert the changes ive made either... | 18:43 |
| ← svnlto left | 18:43 |
|
deanc
| to that delete files | 18:43 |
|
cbreak
| then don't git add them! | 18:43 |
|
deanc
| lol, you're missing the point | 18:43 |
|
cbreak
| you're missing the point | 18:43 |
|
| if you don't want it to be commited | 18:43 |
|
| do not STAGE IT FOR COMMIT | 18: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 file | 18: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 left | 18:44 |
|
cbreak
| why do those people rename it? | 18:44 |
|
| that's dumb anyway | 18: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 checkout | 18:45 |
| → fedesilva joined | 18:45 |
|
deanc
| The same situation would apply if i didn't require a rename, but just change the values in the default file | 18:45 |
| ← Ecco left | 18:45 |
|
dogmatic69
| if you delete a file you have to git add -A or git rm it to affect the repo | 18:45 |
|
cbreak
| yeah, as I said | 18: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 happend | 18:46 |
|
| git checkout -- file should undo the delete also | 18: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 left | 18:46 |
|
dogmatic69
| ok | 18: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 commit | 18:46 |
|
deanc
| teuf the file is shipped with the checkout | 18:47 |
|
teuf
| if you don't do the git add, the changes to .htpasswd won't be committed | 18:47 |
|
| deanc: git add adds changes to commit | 18:47 |
|
dogmatic69
| working tree -> staging -> repo (iirc) | 18:47 |
|
eventualbuddha
| unless you do "git commit -a" | 18:47 |
|
teuf
| not new files | 18:47 |
|
cbreak
| deanc: I told you, FILES ARE NOT IN THE INDEX | 18:47 |
| → moconnor joined | 18:47 |
|
cbreak
| the index is for content | 18:47 |
|
eventualbuddha
| so, don't do -a ;) | 18:47 |
|
teuf
| deanc: you should make a clean checkout and experiment | 18:47 |
|
| s/checkout/clone | 18: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 commit | 18:48 |
| ← vitor-br left | 18:48 |
|
eventualbuddha
| git add -p is particularly fun | 18:48 |
| ← Rai left | 18:48 |
|
Fangorn_
| neat, didn't know about git add -p | 18:49 |
|
teuf
| Fangorn_: I find it much more convenient than git add -i | 18:49 |
| ← moconnor left | 18:49 |
|
cbreak
| it's a subset of git add -i | 18:49 |
|
| (the only useful subset :) | 18:50 |
| ← nonno left | 18:50 |
| → vitor-br joined | 18: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 repository | 18:51 |
|
jast
| deanc: the 'git-add' manpage can be found at http://git.or.cz/man/git-add [automatic message] | 18:51 |
|
patrikf
| cbreak: heh | 18:51 |
| → aisipos joined | 18:52 |
|
kanzure
| hmm how can i get \n to work here? git show -s --format='%H\n%P' | 18:53 |
| → pantsman joined | 18:53 |
| WebDragon|laptop → WebDragon | 18:53 |
|
patrikf
| kanzure: either use the power of your shell ($'...') or %n | 18:53 |
|
kanzure
| doh %n | 18:53 |
|
| patrikf: thank you | 18:54 |
| ← MikhX left | 18:54 |
|
wereHamster
| or --format='%H<enter>%P' | 18:54 |
| → MikhX joined | 18:55 |
|
patrikf
| wereHamster: that's the one shell feature i hate more often than find it useful | 18:55 |
| ← kevinmonk left | 18:55 |
| → snucko joined | 18:55 |
| ← PeaMan_ left | 18:56 |
| → PeaMan joined | 18:56 |
| → lightcap joined | 18:58 |
| → friskd_ joined | 19:00 |
| → ari-_-e joined | 19:00 |
| → gusnan joined | 19:01 |
| ← tstclair left | 19:01 |
| → Yuuhi` joined | 19:02 |
| ← genomega left | 19:02 |
| ← Yuuhi left | 19:02 |
| → eft_ joined | 19:02 |
| ← friskd left | 19:03 |
| friskd_ → friskd | 19:03 |
| → kenneth_reitz joined | 19:03 |
| → napster_123_ joined | 19:04 |
| → patmaddox joined | 19:04 |
| q0rban → q0rban|lunch | 19:04 |
| → guardian joined | 19:04 |
| → mdunham918 joined | 19:04 |
| ← HG` left | 19: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 server | 19:05 |
|
| im on the git site and it says download but it appears thats a client | 19:05 |
| → HG` joined | 19:05 |
| ← napster_123 left | 19:06 |
| napster_123_ → napster_123 | 19:06 |
| → genomega joined | 19:06 |
|
wereHamster
| there is no special server software in git | 19:07 |
|
| the client is the server | 19: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 system | 19:08 |
|
wereHamster
| uhm.. like.. jgit ? | 19:08 |
|
mdunham918
| so i'd need a central server or db that everyone communicates with | 19:08 |
|
wereHamster
| are you really sure git is what you want? | 19:08 |
|
mdunham918
| hmm never heard of it | 19:08 |
|
| git seems pretty sweet and fast | 19:09 |
|
| i like the commands and everything | 19:09 |
|
wereHamster
| so you want to do a (gui) frontent for git? | 19:09 |
|
mdunham918
| basically | 19:09 |
|
wereHamster
| frontend even.. | 19:09 |
|
mdunham918
| but i want a central repository | 19:09 |
|
| like my own local github | 19:09 |
|
patrikf
| please familiarize yourself with stuff you're writing a frontend for | 19:09 |
|
| like, understand what it's actually doing | 19:09 |
|
wereHamster
| mdunham918: that would be something else.. | 19:09 |
|
patrikf
| like, reading the docs | 19:09 |
|
mdunham918
| yea im still learning about git but i've been watching screen cast on how to use | 19:09 |
|
wereHamster
| github != gui frontend | 19:10 |
|
patrikf
| like, using it | 19:10 |
|
mdunham918
| its not the frontend i need | 19:10 |
|
wereHamster
| yeah, using it.. | 19:10 |
| ← kelvie_ left | 19:10 |
|
mdunham918
| i need to figure out how to make commits to code that is stored on a central server | 19:10 |
| → dreiss joined | 19:10 |
|
mdunham918
| wait | 19:10 |
|
patrikf
| indeed, *you* | 19:10 |
|
mdunham918
| i think i got it backwards | 19:10 |
| ← Zephyrus left | 19:10 |
| ← mlq left | 19:10 |
|
mdunham918
| so i'd put GIT on my server | 19: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 commands | 19:11 |
|
| fr0sty thinks 'distrubted' is not an understood concept here.... | 19:11 |
|
eft_
| hi guys - I am trying to generate a patch using git diff | 19:11 |
| → mlq joined | 19: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 file | 19:12 |
|
| but not a new file that got added to the working dir in a sub folder | 19:12 |
| → Schmallon joined | 19:12 |
|
fr0sty
| mdunham918: will there ever be code on the client computers? | 19:12 |
|
wereHamster
| eft_: git add both files, the git diff --cached | 19:12 |
| → kelvie_ joined | 19:13 |
| → mtx_init joined | 19:14 |
| ← HG` left | 19:14 |
| → khmarbaise joined | 19:14 |
| → psoo joined | 19:14 |
|
eft_
| wereHamster: I thought git diff compared working directory to repo? | 19:14 |
|
| ie committed changes | 19:15 |
| poseidon_ → poseidon | 19:15 |
|
patrikf
| eft_: no, working directory (only tracked files) to index | 19:15 |
| ← stringoO left | 19:15 |
| q0rban|lunch → q0rban | 19:15 |
|
patrikf
| eft_: you might not know the index exists if you've always used commit -a | 19:16 |
|
eft_
| shoot I'm gonna have to RTFM again | 19:16 |
|
Fangorn_
| eft_: you're looking for git diff HEAD | 19:16 |
|
patrikf
| no he's not | 19:17 |
| → nimrod10` joined | 19:17 |
|
wereHamster
| git diff HEAD wouldn't change anything | 19:17 |
|
| maybe 'git add -N <the new file> && git diff' | 19:18 |
|
Fangorn_
| sorry, didn't read the original question | 19:18 |
|
wereHamster
| -N ... This is useful for, among other things, showing the unstaged content of such files with git diff and committing them | 19:18 |
| → AlexanderS joined | 19:18 |
| ← nimrod10 left | 19:18 |
| ← AlexanderS left | 19: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 left | 19:19 |
|
eft_
| so I'm at http://www.kernel.org/pub/software/scm/git/docs/git-diff.html | 19:19 |
|
| and it says show changes between commits and working tree, which I took to be repository and working dir | 19:20 |
|
wereHamster
| git generally doesn't care aobut untracked files | 19: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 joined | 19:21 |
| → nakkor joined | 19:21 |
| → andyburke joined | 19:21 |
| → eletuchy joined | 19:21 |
| ← jcody left | 19:21 |
| → AlexanderS joined | 19:22 |
|
eft_
| thanks guys - you are being patient with me | 19:23 |
| → Eaven joined | 19: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
| yes | 19:24 |
| ← fowlduck left | 19: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 it | 19:26 |
| → EvanR-work joined | 19:26 |
| → AlexP joined | 19:26 |
| ← Eiler left | 19:27 |
| → isaqual_ joined | 19:28 |
|
patrikf
| eft_: if you "git add"ed it before modifying it, yes | 19:29 |
| ← spuz left | 19:29 |
|
orafu
| you could "touch newfile && git add newfile", then add content to newfile -- git diff then shows the changes to newfile as well | 19:29 |
|
wereHamster
| orafu: wrong | 19:29 |
|
| git diff wouldn't show any changes to newfile | 19:29 |
|
patrikf
| wereHamster: I disagree | 19:29 |
|
nakkor
| you could also do an intent to add on the file if you wanted a diff | 19:29 |
|
patrikf
| though git add -N newfile is simpler | 19: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 patch | 19: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 -N | 19: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" part | 19:31 |
|
orafu
| wereHamster: tested now and works | 19: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" part | 19:31 |
|
patrikf
| on that i can agree ;-) | 19:31 |
|
kanzure
| does a commit object have to have a tree? | 19:31 |
|
wereHamster
| yes | 19:32 |
| → Eiler joined | 19:32 |
|
jim
| yes | 19: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 import | 19:32 |
|
wereHamster
| fix what? | 19:32 |
|
kanzure
| wereHamster: http://diyhpl.us/cgit/nanoengineer-fixed/commit/?h=Distribution&id=d7a2ecb79487035ac542e4fcaecf2e63a2e14714 | 19:32 |
|
| wereHamster: http://diyhpl.us/cgit/nanoengineer-fixed/commit/?h=master&id=fdee9debedc807b3af5d3d3e8cbd780881fe8ee0 | 19:32 |
|
| that should clearly be one commit | 19:32 |
|
wereHamster
| so.. ? | 19:33 |
|
kanzure
| unfortunately it's two and the revision history is lost | 19:33 |
|
| so i'm fixing that? | 19:33 |
| ← napster_123 left | 19: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 together | 19:34 |
|
kanzure
| i fail to see how that will fix the history | 19:34 |
| → theoros joined | 19:34 |
|
kanzure
| ok squashing might | 19:34 |
|
wereHamster
| are they on different branches? | 19:34 |
|
jim
| then we don't understand what you want | 19:34 |
|
kanzure
| yes they are on different branches | 19: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 SHA | 19:35 |
|
wereHamster
| then just drop the first commit. | 19:35 |
|
nakkor
| I though leaving off --match-all would do it, but... no | 19:35 |
|
wereHamster
| git can't track such cross-branch history | 19:35 |
|
nakkor
| sorry --all-match | 19:35 |
|
kanzure
| wereHamster: the first commit in master is a bunch of files being added. if i drop it how does that accomplish my goal | 19: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 master | 19:36 |
|
jim
| did it happen that way in the svn repo? | 19:36 |
| Hutch[S] → Hutch[S]|away | 19:36 |
|
kanzure
| jim: yes | 19:36 |
|
| well, actually | 19: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 mv | 19:37 |
| ← schacon left | 19:37 |
| → iaj joined | 19:38 |
|
kanzure
| wereHamster: no it seems they developed mostly in Distribution and then later moved to trunk | 19:38 |
| ← alberto56 left | 19:38 |
|
wereHamster
| kanzure: git has no way to represent such cross-branch moves of individual files. You'll have to live with that history | 19:38 |
|
cbreak
| cross branch history? that makes no sense... | 19:39 |
|
| a brach IS history | 19:39 |
|
| without a branch, no history. | 19:39 |
|
theoros
| we are the branches | 19: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 photosynthesizes | 19:39 |
| → ProLoser|Work joined | 19:39 |
|
ProLoser|Work
| hallooo | 19:39 |
|
kanzure
| cbreak: it was deleted in Distribution because that's how svn mv works | 19:39 |
|
ProLoser|Work
| an entire file was staged | 19:39 |
|
kanzure
| not because they wanted to lose history | 19:39 |
|
ProLoser|Work
| however it was staged for a submodule | 19:40 |
|
| how do i reset it? | 19:40 |
|
kanzure
| if i edit the repo and there's still files in Distribution nobody will care | 19:40 |
|
cbreak
| kanzure: they should have copied it if they would not have wanted it to vanish | 19:40 |
|
| ProLoser|Work: git status | 19:41 |
|
| it'll tell you | 19:41 |
|
ProLoser|Work
| it does tell me | 19:41 |
|
| how do i not stage it? | 19:41 |
|
| like... how do i ignore it | 19: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 joined | 19:41 |
| ← DrNick left | 19: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 :P | 19:41 |
|
| SethRobertson: i agree the merge should occur before the deletes | 19:42 |
|
| in fact, i've traced all of the parent ids to that point (before the deletes) so i have that list ready | 19:42 |
|
SethRobertson
| Well, they are right. You cannot tie the delete to the add. I just finessed the problem. | 19:42 |
| → TheUni joined | 19:42 |
|
cbreak
| ProLoser|Work: just don't stage it | 19:43 |
|
| staging is something active | 19: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 it | 19:43 |
| → bushwakko joined | 19:44 |
|
ProLoser|Work
| i want to get rid of it | 19:44 |
|
| it's a pending staged thing and it's bugging the crap outta me | 19:44 |
| ← __name__ left | 19:44 |
|
cbreak
| git rm deletes stuff | 19:44 |
| → saysjonathan joined | 19:44 |
|
cbreak
| git reset unstages stuff | 19: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 .gitignore | 19: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 commit | 19: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 uncle | 19:46 |
|
kanzure
| SethRobertson: aha. yeah i was wondering about the tree id earlier. so thanks | 19:46 |
| → Luyang joined | 19:46 |
| rayners → rayners_afk | 19:47 |
| ← MikhX left | 19:47 |
| → DrNick joined | 19:47 |
| ← MattDiPasquale left | 19:47 |
| → cylence joined | 19:48 |
| → eagles0513875 joined | 19:49 |
|
eagles0513875
| hey guys :) | 19:49 |
|
kanzure
| nooo | 19:49 |
|
nakkor
| Hrmm.. I am not sure if --all-match is broken | 19:49 |
|
SethRobertson
| nakkor: Provide the full command please | 19: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 joined | 19:50 |
|
nakkor
| SethRobertson: in my test repo, no msg has "cb" but my email does: git log --oneline -10 --grep=cb --author=cb | 19:50 |
| ← juanjoc_ left | 19:50 |
|
poseidon
| eagles0513875: you will probably get a better response on #ubuntu | 19:50 |
|
eagles0513875
| poseidon: i am gonna follow the wiki for setting it up | 19:50 |
|
| just apprehensive about how up to date it is | 19:50 |
|
nakkor
| when I run that I get no results, but when I do just the author, it works fine | 19:51 |
|
theoros
| use now, worry later | 19:51 |
| ← msieradzki left | 19: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 set | 19: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/9sCjH | 19:53 |
| ← foocraft left | 19: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 those | 19:54 |
| → stringoO joined | 19:55 |
|
Luyang
| how do I list the local branch (correct term) and the remote one? | 19:55 |
|
| names and configuration | 19:55 |
|
nakkor
| git branch -vv | 19: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 joined | 19:55 |
| ← simosx left | 19:55 |
| → simosx joined | 19:55 |
|
nakkor
| SethRobertson: so is that a bug in git? Is there a way to match any? | 19:56 |
| ← isaqual_ left | 19:56 |
|
SethRobertson
| Luyang: git branch -a; git remote show origin | 19:56 |
| ← simosx left | 19:56 |
| → amerine joined | 19: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 bug | 19:59 |
|
SethRobertson
| nakkor: This is where I should encourage you to submit a patch to the git mailing list | 20:00 |
|
nakkor
| SethRobertson: I will give it a go | 20:00 |
| → urkud_ joined | 20: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#984973 | 20: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 calculation | 20: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 space | 20:02 |
|
SethRobertson
| git-annex is a current way some use to work around the problem | 20:02 |
| → juanjoc_ joined | 20:03 |
| → pedrobelo joined | 20: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 sure | 20:03 |
|
wereHamster
| NfNitLoop: feel free to submit patches. | 20:03 |
|
NfNitLoop
| heh. | 20:03 |
| → jrmuizel joined | 20: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] left | 20: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 problem | 20:04 |
| → Tommy[D] joined | 20:05 |
|
wereHamster
| NfNitLoop: it does not at the time you run git add, but it'll try eventually | 20:05 |
|
NfNitLoop
| wereHamster: when? When it calculates deltas to send in the git protocol? | 20:05 |
| → SGulseth joined | 20:05 |
|
wereHamster
| also, compression will suffer if you wont' let git do delta compression | 20:05 |
|
| NfNitLoop: when git creates a pack | 20:06 |
|
NfNitLoop
| aah. | 20:06 |
| ← stringoO left | 20: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 compression | 20:06 |
|
NfNitLoop
| Oh. I suppose I should read up on that more. | 20:06 |
| → etag joined | 20: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 has | 20:07 |
| → F1x joined | 20:07 |
|
wereHamster
| delta compression >> zip/gzip/bzip2 etc. | 20:07 |
| → Jippi_mac joined | 20:08 |
|
engla
| then add some smart heuristics in which order to pack the objects and you get git's packed format | 20:08 |
|
drizzd
| well, zip/gzip/bzip2 do delta compression too | 20:08 |
|
NfNitLoop
| drizzd: that's what I thought... | 20:09 |
| ← bcardarella left | 20:09 |
|
wereHamster
| can you extract individual parts form a large zip file? | 20:10 |
|
homa_rano
| yes | 20:10 |
|
wereHamster
| what about gzip/bzip2? | 20:10 |
|
SethRobertson
| Just not random access | 20:10 |
|
homa_rano
| but in return the individual files are not diffed against each other, as they kinda are with tar.*z | 20:10 |
| ← bushwakko left | 20:11 |
| ← etag left | 20:11 |
| ← iaj left | 20: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 joined | 20:13 |
|
DrNick
| a header describing what kind of object it is | 20: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.html | 20:14 |
|
| -> Object Storage | 20:14 |
|
homa_rano
| huh, I had assumed the type of an object came from context | 20:14 |
| → Manifesto joined | 20:14 |
|
homa_rano
| so if you happened to have a file that was the same contents as a tree, it would be the same | 20:14 |
|
wereHamster
| no | 20:14 |
| Hutch[S]|away → Hutch[S] | 20:14 |
|
homa_rano
| good to know | 20:14 |
|
wereHamster
| because the blob has a blob prefix and tree a tree prefix | 20:14 |
|
| hence the prefix in the object.. | 20:15 |
|
engla
| homa_rano: there is nothing to win there anyway | 20: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 answered | 20: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 not | 20:16 |
|
wereHamster
| git cat-file -t deadbeef | 20:17 |
| → HG` joined | 20:17 |
| → _ollie joined | 20:17 |
| → stringoO joined | 20:17 |
|
homa_rano
| I would assume git checkout would always take a commit | 20:17 |
|
| but apparently various commands are not as strictly typed as I thought | 20:17 |
|
engla
| homa_rano: uh, it would just be strange to speculatively parse a blob and see if it has a commit header | 20:18 |
|
homa_rano
| followup question: how are tags represented in git? | 20:18 |
|
wereHamster
| homa_rano: annotated or lightwight tags? | 20:18 |
| → xiong joined | 20:18 |
|
homa_rano
| the ones that get cloned | 20:18 |
|
wereHamster
| engla: exactly. what if you have a file which begins with 'tree <...>' | 20:19 |
|
| homa_rano: both.. | 20:19 |
| → drizzd_ joined | 20:19 |
|
homa_rano
| ok then, lightweight | 20:19 |
| → p3rg2z joined | 20: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 tagging | 20: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 them | 20: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 object | 20:22 |
|
homa_rano
| ok, thanks | 20:22 |
|
| I'm much more familiar with mercurial plumbing and this cleared a lot of things up | 20:22 |
| → WebDragon|laptop joined | 20:22 |
| ← drizzd left | 20:23 |
| ← steph021 left | 20:23 |
| ← Eiler left | 20:23 |
| → Eiler joined | 20:23 |
| yhager_ → yhager | 20:24 |
| → iaj joined | 20:24 |
| ← ari-_-e left | 20:24 |
| ← eletuchy left | 20:25 |
| ← vitor-br left | 20:25 |
|
F1x
| :) | 20:25 |
| ← aresnick left | 20:26 |
| ← eagles0513875 left | 20:26 |
| ← WebDragon left | 20: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 joined | 20:28 |
| ← phantomcircuit left | 20: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 left | 20:29 |
| → vitor-br joined | 20:30 |
|
homa_rano
| tags in hg were handicapped by wanting to preserve backwards compatibility | 20:30 |
|
| thus being in a normal tracked file | 20:30 |
| → isaqual_ joined | 20:30 |
| → bcardarella joined | 20:30 |
| ← HG` left | 20:30 |
| → sdecastelberg joined | 20:31 |
| rayners_afk → rayners | 20:31 |
|
engla
| backwards compatibility to what? just old hg you mean? | 20:31 |
| ← F1x left | 20:32 |
|
homa_rano
| yes, so old hg servers could still represent tags | 20:32 |
|
| same consideration for subrepositories | 20: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 something | 20:34 |
| WebDragon|laptop → WebDragon | 20:34 |
| → programble joined | 20:34 |
| ← programble left | 20:34 |
| → programble joined | 20:34 |
| ← patmaddox left | 20:34 |
| → sh1m joined | 20:35 |
| ← iaj left | 20: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 there | 20:36 |
| → goshawk joined | 20:37 |
| ← Tommy[D] left | 20:37 |
| → vitorpc joined | 20:38 |
|
fr0sty
| kanzure: what are you using tree-ids for? | 20:38 |
| ← sh1mmer left | 20:38 |
| sh1m → sh1mmer | 20:38 |
| → Tommy[D] joined | 20:38 |
| → ari-_-e joined | 20:38 |
| → albel727 joined | 20:39 |
| ← jelmer left | 20: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 joined | 20:40 |
| ← vitor-br left | 20:40 |
|
kanzure
| gah it's the very next section in the docs | 20:40 |
|
| i fail | 20:41 |
| → Dave^|| joined | 20:42 |
| ← Dave^| left | 20:42 |
| ← vitorpc left | 20:42 |
| ← Dave^|| left | 20:43 |
| ← pedrobelo left | 20:43 |
| → Dave^| joined | 20:43 |
| → pedrobelo joined | 20:44 |
| → eletuchy joined | 20:44 |
| → dl9pf joined | 20:44 |
| ← dquestions left | 20:44 |
| ← guardian left | 20:44 |
| → dquestions joined | 20:44 |
| ← dl9pf_ left | 20:44 |
| → yairgo joined | 20:45 |
| Hutch[S] → Hutch[S]|away | 20:45 |
| → johnkw joined | 20:46 |
| → guardian joined | 20:46 |
| → iaj joined | 20:46 |
| → EricInBNE joined | 20:46 |
|
johnkw
| how do you navigate to annotate/blame on git's web? | 20:48 |
|
dogmatic69
| gits web? | 20:49 |
| ← ntoll left | 20:49 |
|
johnkw
| the web gui | 20:49 |
|
dogmatic69
| oh, never seen it | 20:49 |
| → jeffxl joined | 20:49 |
| ← jeffxl left | 20:50 |
|
johnkw
| --> http://git.kernel.org/?p=git/git.git;a=summary | 20:50 |
| → jeffxl joined | 20:50 |
| → FabianB joined | 20:51 |
|
dogmatic69
| http://git.kernel.org/?p=git/git.git;a=blame;h=20db370b63a47b19e5f903b78af46ec8e709fa37 | 20:51 |
| cpg|away → cpg | 20:52 |
|
dogmatic69
| just check it out and do a blame in shell maybe | 20:52 |
| ← rayners left | 20:52 |
|
kanzure
| fr0sty: i'm doing something i shouldn't be doing and frankly i don't know how to describe it | 20: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__ left | 20:52 |
| → mikepack joined | 20:53 |
| ← gnufied left | 20:53 |
|
theoros
| you can't specify revisions like that afaik | 20:54 |
| ← mabrand left | 20:54 |
| → acalbaza joined | 20:54 |
|
theoros
| git rebase --onto X A B moves ^A..B onto X | 20:54 |
|
| uh, ^A B | 20: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 represent | 20:55 |
| → Mannequin joined | 20:55 |
|
theoros
| kanzure: man git-rev-parse | 20:55 |
|
wereHamster
| kanzure: everything reachable from B but not A | 20: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
| thanks | 20:55 |
|
theoros
| ctrl-f for "specifying ranges" | 20:55 |
| ← noahcampbell left | 20:56 |
| → bartek joined | 20:56 |
|
theoros
| acalbaza: don't reset | 20:56 |
|
| acalbaza: git checkout COMMIT, but your head will detach | 20:56 |
|
| git checkout -b something_awesome COMMIT if you want to work off that old state | 20: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 rebase | 20:57 |
|
kanzure
| theoros: and it would be the same effect/meaning? | 20:57 |
| ← boombatower left | 20:57 |
|
theoros
| it doesn't have to be "after" A | 20:57 |
|
| B can in fact be the tip of some branch off A~1000 | 20:58 |
| ← Luyang left | 20:58 |
| ← stringoO left | 20:58 |
|
wereHamster
| bartek: what's the exact commandline? | 20:58 |
|
bartek
| git rebase -i | 20:58 |
|
parasti
| bartek: "git rebase -i" will show you the usage, because that's not a complete command | 20:58 |
|
wereHamster
| bartek: that rightfully should display the help message | 20:58 |
|
theoros
| kanzure: in which case git rev-list ^A B would be the list of commits sitting on that branch | 20:59 |
|
bartek
| hm, I'm misunderstanding something then | 20:59 |
| → fowlduck joined | 20: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 joined | 20:59 |
|
wereHamster
| bartek: <upsteam> is a mandatory argument | 20:59 |
| ← boombatower left | 20:59 |
| → boombatower joined | 20: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 reset | 20:59 |
|
bartek
| An example, perhap | 20: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 does | 21:00 |
|
wereHamster
| bartek: upstream is a commit-ish | 21: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 left | 21:00 |
|
parasti
| maybe tell us what you want to achieve | 21:01 |
|
bartek
| wereHamster: Yes .. I can run git svn fetch on it, and I cloned it from an SVN repo | 21: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 joined | 21:01 |
| ← eletuchy left | 21:01 |
| → spuz joined | 21: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 example | 21:02 |
|
| theoros: master | 21:02 |
| ← marcob left | 21:02 |
|
bartek
| wereHamster: Doing "git log", I do not see git-svn-id | 21:02 |
|
wereHamster
| bartek: did you do the clone with '--no-metadata' ? | 21:02 |
| ← khmarbaise left | 21:02 |
| ← opalka left | 21:03 |
|
bartek
| wereHamster: Erm, yes. | 21:03 |
| ← psoo left | 21:03 |
|
wereHamster
| alright, you'll have to use git rebase then and figure upsream on your own | 21:03 |
|
bartek
| How would I figure that out .. ? | 21:03 |
|
parasti
| well, if you want to shorten the history... | 21:04 |
| ← johnkw left | 21:04 |
|
wereHamster
| bartek: read the description of man git-rebase | 21:04 |
|
jast
| bartek: the 'git-rebase' manpage can be found at http://git.or.cz/man/git-rebase [automatic message] | 21:04 |
|
bartek
| thanks | 21:04 |
|
wereHamster
| go step by step through it, and then apply it to your situation | 21:04 |
|
parasti
| you could fake the parents of the new root commit with grafts | 21:04 |
| → jelmer joined | 21:04 |
|
parasti
| and then finalize with filter-branch once all looks good | 21:04 |
| ← enherit left | 21:05 |
|
parasti
| I don't think anything of this sort can be done with rebase | 21:05 |
|
bartek
| Ok, I figured out the upstream thing. | 21:06 |
| → noahcampbell joined | 21:07 |
| ← kar8nga left | 21:07 |
| ← doener left | 21:07 |
| ← theoros left | 21:09 |
| → rayners joined | 21:09 |
| ← d0k left | 21:09 |
| → hobodave joined | 21: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 joined | 21:11 |
|
bartek
| Oh, found git-svnimport | 21:11 |
|
wereHamster
| bartek: man git-svn -> OPTIONS -> -r | 21:12 |
|
jast
| bartek: the 'git-svn' manpage can be found at http://git.or.cz/man/git-svn [automatic message] | 21:12 |
| ← juanjoc_ left | 21:12 |
|
bartek
| wereHamster: Ah, I'm reading the docs wrong .. was looking at the sub commands, rather than the global options .. Thanks | 21:12 |
| ← isaqual_ left | 21:13 |
|
homa_rano
| what's the easiest way to ask git if commit abcdef is an ancestor of commit deadbeef? | 21:13 |
| → dunpeal joined | 21:14 |
| → Adaptee joined | 21:14 |
| → theoros joined | 21:14 |
| → alberto56 joined | 21:14 |
| → gnufied joined | 21:14 |
|
fr0sty
| homa_rano: git log 'deadbeef..abcdef' will be empty | 21:15 |
|
bartek
| Reading through blogs, seems like everyone does an svn->git conversion a little bit differently | 21:15 |
|
fr0sty
| if there is a tag at deadbeef 'git tag --contains abcdef' will print the tag | 21: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/svn2git | 21:15 |
| ← iaj left | 21: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 well | 21:16 |
|
fr0sty
| homa_rano: 'git merge-base abcdef deadbeef' will equal abcdef | 21: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. :p | 21:16 |
| → iaj joined | 21:16 |
| → WebDragon|laptop joined | 21: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 across | 21:16 |
|
theoros
| kanzure: it's git rebase --onto X A B | 21:16 |
| ← ph^ left | 21: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 it | 21:16 |
|
davr
| personally I filtered the SVN repo a bunch first, getting it into the state I wanted, and then converted to git | 21:17 |
|
theoros
| kanzure: it's a different syntax | 21:17 |
|
NfNitLoop
| bartek: careful, though, there's another project (or more?) w/ the name svn2git. | 21:17 |
| ← Eiler left | 21:17 |
|
kanzure
| theoros: ah. | 21:17 |
| ← alberto56 left | 21:18 |
|
homa_rano
| fr0sty: thanks | 21:18 |
|
kanzure
| theoros: nope even when i remove '^' it still tells me Fatal: needed single revision | 21:18 |
| → toxictux joined | 21:18 |
| → ph^ joined | 21:18 |
|
theoros
| kanzure: what is HEAD? git rev-parse HEAD | 21:18 |
|
| or uh, git name-rev HEAD even | 21:19 |
|
kanzure
| theoros: 05c42cde046dcb6942e926e9cf1eb3e55d96242b | 21:19 |
|
| HEAD master | 21: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: 79102f867b7e5792ef0c49179f9fe09270ef0ffd | 21: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 history | 21:19 |
| ← WebDragon left | 21:19 |
|
theoros
| kanzure: weird.. | 21:20 |
| WebDragon|laptop → WebDragon | 21:20 |
|
toxictux
| wereHamster, i see ^^ i only used svn, rcs and cvs before so git has also push | 21:20 |
|
wereHamster
| kanzure: can you paste the exact command you're using? | 21:20 |
| → opalka joined | 21:20 |
|
kanzure
| wereHamster: git rebase --onto new-master 79102f867b7e5792ef0c49179f9fe09270ef0ffd 05c42cde046dcb6942e926e9cf1eb3e55d96242b | 21:20 |
| → Eiler joined | 21:21 |
|
wereHamster
| kanzure: and all those commit names resolve without errors (git rev-parse <..>) | 21:21 |
|
| ? | 21:21 |
| ← rajeshsr left | 21:21 |
| ← foocraft left | 21:22 |
| → DaveIngram joined | 21:22 |
|
kanzure
| wereHamster: yes | 21: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 -l | 21:23 |
| → Eridius joined | 21:23 |
|
kanzure
| wereHamster: master | 21:23 |
|
| crap | 21:24 |
|
| sorry my screen session is getting laggy | 21:24 |
|
toxictux
| wereHamster, hm i get this dialog and i have now clue what do do http://imagebin.org/125495 | 21: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 joined | 21:24 |
| ← AlexanderS left | 21:24 |
|
wereHamster
| toxictux: also, http://progit.org | 21:25 |
| → bushwakko joined | 21: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 not | 21:25 |
| ← bushwakko left | 21:25 |
| ← kokx left | 21:25 |
|
kanzure
| theoros: oh it's remotes/origin/new-master | 21:25 |
|
| sigh | 21:25 |
| → isaqual_ joined | 21:26 |
|
wereHamster
| kanzure: new-master != remotes/origin/new-master | 21:26 |
|
kanzure
| i had to git clone because i didn't have a working directory | 21:26 |
|
theoros
| get yourself a remote-tracking branch | 21:26 |
|
wereHamster
| or --onto remotes/origin/new-master | 21:26 |
| → kokx joined | 21:26 |
|
wereHamster
| (maybe --onto origin/new-master) | 21:26 |
|
kanzure
| or i can just get all of these branches | 21:26 |
|
toxictux
| wereHamster, the drop boxes contain "HEAD" and "master[branch]" | 21:26 |
|
wereHamster
| toxictux: pick one | 21:26 |
|
toxictux
| wereHamster, k | 21:27 |
| ← yngress left | 21:27 |
| → mw joined | 21:29 |
|
piotr_
| is there a way to change master branch? | 21:29 |
|
| I have another branch which I'd like to be master now | 21:29 |
| ← smolyn left | 21: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 joined | 21:31 |
|
kanzure
| "First, rewinding head to replay your work on top of it..." | 21:31 |
|
| hm how long will this take | 21:31 |
| → smolyn joined | 21:31 |
|
wereHamster
| 0.nothign seconds | 21:31 |
|
kanzure
| uh | 21:31 |
|
| it's been a few minutes | 21:31 |
|
wereHamster
| oh. Then it's longer | 21: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 changes | 21:32 |
|
kanzure
| i'd guess about 5k to 10k commits | 21:32 |
|
theoros
| haha | 21:32 |
| → mmc joined | 21:32 |
|
theoros
| i mean i guess that'd tak a while. | 21:32 |
|
| +e | 21:32 |
|
kanzure
| i think these guys are crazy for commiting 50,000+ files at once | 21:33 |
|
| (on a frequent basis) | 21:33 |
|
theoros
| ..seriously? | 21:33 |
|
piotr_
| nice1 | 21:33 |
|
kanzure
| yeah they seem like the same files over and over again | 21:33 |
|
theoros
| do they know what granularity is at all? | 21:33 |
| → AlexanderS joined | 21:33 |
|
piotr_
| who commits 50K files? | 21:33 |
|
Eridius
| someone who tracks their minecraft save in a git repo? | 21:35 |
| Hutch[S]|away → Hutch[S] | 21:36 |
| ← berkes left | 21:36 |
|
kanzure
| hm i got a merge conflict.. but when i check the file there's no merge markers added or anything | 21: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 did | 21:37 |
|
| wereHamster: ah, checking | 21:37 |
| → berkes joined | 21:37 |
|
kanzure
| git diff says * Unmerged path cad/src/DnaGeneratorDialog.py | 21:37 |
| ← nohk left | 21:37 |
| → nohk joined | 21:37 |
| ← nohk left | 21:38 |
|
wereHamster
| nothing else? | 21:38 |
| → nohk joined | 21:38 |
| ← friskd left | 21:38 |
| ← berkes left | 21:38 |
|
wereHamster
| that looks more like output from 'git status' | 21:38 |
| → welly joined | 21:38 |
| ← gusnan left | 21:39 |
|
kanzure
| nothing else | 21:39 |
|
| i'm in the middle of a rebase | 21:39 |
| ← dunpeal left | 21:39 |
|
kanzure
| git status says: # deleted by them: cad/src/DnaGeneratorDialog.py | 21: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 not | 21: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 left | 21:42 |
| ← mw left | 21:42 |
| → Best_ joined | 21:43 |
|
kanzure
| SethRobertson: i have no idea what's going on at the moment | 21:43 |
|
| SethRobertson: what two commits am in between? | 21:43 |
|
| *am i in between | 21:43 |
|
SethRobertson
| I sure have no idea. Perhaps you should abort the rebase and reconsider | 21:44 |
|
cbreak
| git log shows you the past | 21:44 |
|
shentino
| interestingly enough slashdot just posted an article about rebasing | 21:44 |
|
cbreak
| shentino: no | 21:44 |
|
| it posted an article about an addvertisement for some crap SCM | 21:44 |
|
kanzure
| aha i see | 21:44 |
| → s0ber joined | 21: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 left | 21:45 |
| ← mlq left | 21:45 |
|
SethRobertson
| I have no idea what happens when you are in the mists of a failed rebase. | 21:46 |
| ← mikepack left | 21:46 |
| ← JungleSavvy left | 21: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 reconsider | 21:47 |
| ← jauler_ left | 21:48 |
| → JungleSavvy joined | 21: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 renamed | 21:49 |
| ← Yuffster left | 21:49 |
|
SethRobertson
| kanzure: Specifically I believe that `git diff new_master A` should be absolutely identical | 21:49 |
| → steph021 joined | 21: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 it | 21:50 |
|
SethRobertson
| And entirely possibly the git-tree hash should be the same for those twocommits | 21:50 |
|
| I'd like to confirm my identity theory before wondering why it failed | 21:50 |
|
kanzure
| ok one sec | 21:50 |
| → phantomcircuit joined | 21: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 enough | 21:52 |
| → ooooPssss joined | 21: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
| Both | 21:53 |
|
kanzure
| oops :( | 21:53 |
| ← dbbnj left | 21:53 |
| → stringoO joined | 21:53 |
| → dbbnj joined | 21:54 |
|
kanzure
| trying again :) | 21:54 |
| → balrok joined | 21:56 |
| ← balrok left | 21:56 |
| ← fedesilva left | 21:56 |
| ← goshawk left | 21:56 |
|
kanzure
| oh lovely some of the commit messages are blank. i didn't even notice | 21:56 |
| ← jaql left | 21:57 |
| ← cannonball left | 21:57 |
| ← flazz left | 21:58 |
| → JEEB joined | 21:59 |
| ← JEEB left | 21:59 |
| → JEEB joined | 21:59 |
|
cbreak
| bad commiter, bad! | 22:00 |
|
| find out who made them and poke that person with something pointy and/or burning | 22:00 |
|
| or just drop the commit, can't be useful if it's not interesting enough for a message ;) | 22:00 |
| → jauler_ joined | 22:01 |
|
kanzure
| i choose both. | 22:01 |
| ← pedrobelo left | 22:01 |
| → pedrobelo joined | 22:02 |
| → schacon joined | 22:03 |
| ← _ollie left | 22:03 |
| ← Hutch[S] left | 22:03 |
| → mmw joined | 22:03 |
| ← ymasory left | 22:04 |
| → phantomcircuit_ joined | 22:06 |
| ← stringoO left | 22:06 |
| ← p3rg2z left | 22:06 |
| ← Eaven left | 22:06 |
| ← unreal left | 22:08 |
| ← nohk left | 22:08 |
| ← phantomcircuit left | 22:09 |
| → GCS joined | 22:10 |
| ← yairgo left | 22:11 |
| → Dashkal joined | 22:11 |
| ← genomega left | 22:12 |
|
Dashkal
| Is there a list anywhere discussing "git server" packages? | 22:12 |
| → banisterfiend joined | 22:13 |
| → unreal joined | 22:13 |
| ← iaj left | 22:13 |
|
bremner
| what are they? | 22:13 |
| → nohk joined | 22:14 |
|
patrikf
| https://git.wiki.kernel.org/index.php/InterfacesFrontendsAndTools | 22:14 |
| → acs joined | 22:14 |
| ← toxictux left | 22:15 |
| ← opalka left | 22:15 |
| ← acalbaza left | 22:15 |
|
Dashkal
| danke | 22:16 |
| ← sdecastelberg left | 22:16 |
| → iaj joined | 22:19 |
|
dj_tjerk
| anyone experience with gitolite's "personal branch" stuff | 22:19 |
|
Dashkal
| looks like I have Gitorius, gitosis, and gitolite for options. Thanks much *commenses research* | 22:19 |
| ← Guest67408 left | 22:21 |
| → Mage joined | 22: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 repo | 22:22 |
|
| "error: unable to resolve reference refs/heads/....: Not a directory" | 22:22 |
|
| and that it cannot lock the ref | 22:22 |
|
| refs/heads/personal/tjerk/develop for instance | 22:23 |
| ← kpreid left | 22:23 |
|
dj_tjerk
| hmm | 22:23 |
| → genomega joined | 22:24 |
| ← nohk left | 22:24 |
|
bremner
| dj_tjerk: does it work for other kinds of pushes? | 22:25 |
| ← sonnym left | 22:25 |
|
wereHamster
| dj_tjerk: does the remote contain a ref refs/heads/personal/tjerk or refs/heads/personal ? | 22:25 |
| ← sixteneighty left | 22:26 |
| → tatsuya joined | 22:26 |
| ← tatsuya left | 22:26 |
| ← WebDragon left | 22:26 |
|
dj_tjerk
| i just switched to calling it "personal" instead of "develop" and that seemed to fix things :? | 22:26 |
| ← SGulseth left | 22:26 |
| ← pigdude left | 22:26 |
| → nohk joined | 22:26 |
|
dj_tjerk
| imma go back to breaking it :P | 22:26 |
|
| wanna know if it's consistent or if i used to have a remote branch called develop in the past that confused git | 22:27 |
| ChanServ set mode: +v | 22:27 |
| ← Pupeno left | 22:27 |
|
wereHamster
| 'not a directory' sounds like you have a ref where git would require none | 22:27 |
| q0rban → q0rban|afk | 22:27 |
| → metropolis joined | 22:27 |
| → fedesilva joined | 22: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-remote | 22: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^| left | 22:29 |
| ← guardian left | 22:29 |
| ← sh1mmer left | 22:30 |
| → ch077179 joined | 22:31 |
| ← bartek left | 22:32 |
| → p4tux joined | 22:33 |
| ← bronson left | 22:34 |
| → fedesilva_ joined | 22:34 |
| → SGulseth joined | 22:34 |
| → fedesilva__ joined | 22:38 |
| ← fedesilva left | 22:38 |
| fedesilva__ → fedesilva | 22:38 |
| → kpreid joined | 22:38 |
|
kanzure
| SethRobertson: the rebase has completed, but git branch tells me i'm on "no branch", what do i do? | 22:39 |
| → bronson joined | 22:39 |
| → jason237 joined | 22:39 |
| ← fedesilva_ left | 22:40 |
| → fedesilva_ joined | 22:40 |
| → Yuffster joined | 22:41 |
| → letas joined | 22:42 |
| ← spaceonline left | 22:42 |
| → fedesilva__ joined | 22: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 tracked | 22:43 |
|
| is that even possible? | 22:43 |
| ← fedesilva left | 22:44 |
| fedesilva__ → fedesilva | 22:44 |
| ← pantsman left | 22:44 |
|
cbreak
| git can not ignore tracked stuff | 22:44 |
|
NfNitLoop
| letas: assuming your files have extensions and your dirs don't, you could ignore /*.* | 22:45 |
| ← tjholowaychuk left | 22:45 |
|
cbreak
| git can not track directories | 22: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 |
|
| wrong | 22:46 |
|
NfNitLoop
| ooh, handy. | 22:46 |
|
DrNick
| "*" and "!*/" doesn't work | 22:46 |
|
cbreak
| it's more * and !*/* | 22:46 |
|
| but I'd anchor it to / | 22:46 |
| ← nohk left | 22:46 |
| ← fedesilva_ left | 22:47 |
|
DrNick
| x and x/ aren't the same thing, logically * and */ shouldn't be either | 22:47 |
| → rotham joined | 22:47 |
|
rotham
| hey... how do I update my local repository from the remote one? | 22:47 |
| → ben_h joined | 22:48 |
|
ben_h
| hi all | 22:48 |
|
cbreak
| fetch and merge | 22:48 |
|
ben_h
| i'm looking for a command like 'git log --pretty=format:%s', but for just one commit | 22:48 |
|
| instead of its ancestry | 22:48 |
|
cbreak
| show | 22:48 |
| → svnlto joined | 22:48 |
|
ben_h
| right, but show also shows the diff | 22:49 |
|
| i can't find an option to disable it | 22:49 |
|
cbreak
| pick a different format? | 22:49 |
| ← FsTluxe left | 22:49 |
| ← JungleSavvy left | 22:49 |
|
ben_h
| i mean 'git show --pretty=format:%s' shows the output i want, followed by the diff | 22:50 |
|
SethRobertson
| kanzure: Still lost without a branch? | 22:50 |
| → JungleSavvy joined | 22:50 |
|
cbreak
| or you can always use git log with -n | 22:51 |
|
ben_h
| yeah i was thinking that might be the best option | 22:51 |
|
| just thought there might be a better way | 22:51 |
|
| cheers | 22:51 |
|
letas
| NfNitLoop I tried that before and it didnt work :-( | 22:51 |
| ← lightcap left | 22:51 |
|
kanzure
| SethRobertson: nah i fixed it (i think) | 22:52 |
| ← Destos left | 22: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 joined | 22:53 |
|
kanzure
| oh crap i should have merged to new-master | 22:53 |
| → __name__ joined | 22:53 |
| → ymasory joined | 22:53 |
| ← kipras left | 22:54 |
| → mlq joined | 22:55 |
| ← NickyP left | 22: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 created | 22:56 |
| ← JungleSavvy left | 22:56 |
|
SethRobertson
| DId the file in question get renamed during the merge? | 22:57 |
| ← letas left | 22:57 |
|
cbreak
| -C -M | 22:57 |
| → tbf joined | 22:57 |
| → psoo joined | 22:57 |
|
SethRobertson
| kanzure: ^^ | 22:58 |
|
kanzure
| SethRobertson: it may have been moved. git show my-merge-id shows that the diffs are only adding files | 22:58 |
|
| cbreak: yeah it's still only showing my merge commit as its only commit | 22:58 |
| → foocraft joined | 22:58 |
| → sonnym joined | 22:58 |
|
SethRobertson
| Use those flags | 22:58 |
|
kanzure
| i did | 22:58 |
|
| git log -C -M some_file | 22:58 |
|
SethRobertson
| Try mucking with the number for -M | 22:59 |
|
| Or -C, whichever | 22:59 |
|
| --find-copies-harder (if you have it) might also be helpful | 22:59 |
| ← rolfb left | 22: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 left | 23:00 |
|
kanzure
| so i don't think it would know that the file was ever moved | 23:00 |
|
SethRobertson
| kanzure: Also check diff.renameLimit and diff.renames | 23:01 |
|
| A rename that is part of a merge may be challenging, yes | 23: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 odd | 23:03 |
|
| the origin for all of the files are --- /dev/null | 23:03 |
| → JungleSavvy joined | 23:03 |
|
wereHamster
| so called 'evil merge' | 23:03 |
| ← kylehayes left | 23:04 |
|
kanzure
| should i fix my constructed merge? | 23:06 |
|
| there's something clearly wrong with the diff | 23:06 |
| → kanru joined | 23:06 |
|
kanzure
| diffing against /dev/null is the easy way out | 23:07 |
|
SethRobertson
| I'm not sure the diff against /dev/null is showing a problem, actually | 23:07 |
|
| Did you try my suggestion of a `git log` on the old pathname? | 23:07 |
| → rudi_s joined | 23:08 |
| → Borbus joined | 23:08 |
|
kanzure
| SethRobertson: git log says the path is not in the working tree.. which makes sense, since it's not | 23:09 |
| → Helios- joined | 23:09 |
| → sshc joined | 23:09 |
|
kanzure
| so i've confirmed that the files were also moved in their general path | 23:10 |
|
| originally in branch "sim" the file was at doc/TablesforBsdata.xls and then in trunk they put it in sim/doc/TablesforBsdata.xls | 23:10 |
|
SethRobertson
| kanzure: git log -- old/path/name | 23:10 |
| ← p4tux left | 23:10 |
|
kanzure
| SethRobertson: empty/nothing | 23:10 |
|
SethRobertson
| Odd. | 23:11 |
| → smolyn_ joined | 23:11 |
| → zakuni_ joined | 23:11 |
|
kanzure
| SethRobertson: remember, the last commits in "sim" were deletes, dunno if that matters | 23:11 |
|
SethRobertson
| When you visualize with `gitk --all` does it show the merge? | 23:11 |
| ← winterweaver left | 23:11 |
|
kanzure
| gitk is unavailable and i don't want to spend a few hours cloning this to my machine | 23:12 |
| ← tizbac left | 23:12 |
| ← smolyn left | 23:13 |
| ← isaqual_ left | 23:13 |
|
kanzure
| is there something else i can do? i see my merge in git log | 23:13 |
|
| hmm i screwed up somewhere. | 23:14 |
|
SethRobertson
| kanzure: git log --graph | 23:14 |
| ← flaguy48 left | 23: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 --graph | 23:16 |
|
eft_
| guys, I just want to report back on my success with git diff | 23:17 |
|
kanzure
| oh man i've really screwed something up | 23:17 |
| ← mmw left | 23:18 |
|
kanzure
| the latest commit (prior to my involvement) is now showing up under my merge commit, which is all wrong | 23:18 |
|
| kanzure goes back to rebase | 23:18 |
|
eft_
| wereHamster's initial advice to use "git diff --cached" worked well for a comparison between staged revision and my last commit | 23:19 |
| ← phantomcircuit_ left | 23:19 |
| → phantomcircuit joined | 23:19 |
| ← JungleSavvy left | 23: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 also | 23:21 |
|
| so thanks for all the help especially to wereHamster :) | 23:21 |
| → JungleSavvy joined | 23:22 |
| ← __name__ left | 23: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 matters | 23:24 |
|
| The last argument should probably be "master" instead of "HEAD" though | 23:24 |
|
kanzure
| ok | 23:25 |
| ← beatak left | 23:26 |
| ← Mannequin left | 23:26 |
| → Mannequin joined | 23:26 |
| ← KU0N left | 23: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 left | 23:29 |
| → btf joined | 23:29 |
| ← warbee left | 23:29 |
|
SethRobertson
| kanzure: If you said `git rebase --onto new_master A master` it should have left you on new_master | 23:29 |
| ← psoo left | 23:29 |
|
SethRobertson
| Merge onto master is most likely the wrong approach | 23:30 |
| → KU0N joined | 23:30 |
|
SethRobertson
| Where in that statement, "A" is a SHA. The others are literals | 23:30 |
| → LostAcapulco_ joined | 23:30 |
|
jpr5
| rebase strikes again. | 23:30 |
| ← Schmallon left | 23: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_ left | 23:32 |
| → LostAcapulco joined | 23:32 |
| ← coderdad left | 23:33 |
| ← dogmatic69 left | 23:34 |
| ← spuz left | 23:34 |
|
SethRobertson
| Yes | 23:34 |
| ← xiong left | 23:35 |
| → flaguy48 joined | 23:35 |
| → rsewill joined | 23:36 |
| → Destos joined | 23:38 |
| ← DaveIngram left | 23:38 |
| ← LostAcapulco left | 23:39 |
| → LostAcapulco joined | 23:39 |
| ← Ryback_ left | 23:39 |
| ← LostAcapulco left | 23:40 |
| → LostAcapulco joined | 23:41 |
| → towski_ joined | 23:41 |
|
kanzure
| rebasing still in progress.. | 23:42 |
| → brosner joined | 23:42 |
| ← towski left | 23:44 |
| cpg → cpg|brb | 23:44 |
| → __name__ joined | 23:45 |
| → ajpiano joined | 23:45 |
| → timj_ joined | 23:46 |
| timj_ → timj | 23:46 |
| ← boombatower left | 23:49 |
| ← tbf left | 23:49 |
| ← bitkiller left | 23:52 |
| → rchavik joined | 23:52 |
| ← rchavik left | 23:52 |
| → rchavik joined | 23:52 |
| ← eletuchy left | 23:56 |
|
kanzure
| SethRobertson: well. i'm out of ideas | 23:56 |
|
| SethRobertson: git config --get diff.renames returns nothing | 23:57 |
|
SethRobertson
| kanzure: The rebase finished and you were not on nobranch? | 23:57 |
|
kanzure
| rebase finished and i was on master | 23: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 rebase | 23:58 |
|
| The current branch is reset to <newbase> if the --onto option was supplied. | 23:58 |
| ← fr0sty-away left | 23:59 |