IRCloggy #git 2010-11-18

Logs Search ←Prev date Next date→ Channels Documentation

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

2010-11-18

Kenjin joined00:00
ProperNoun left00:00
cannonball left00:01
schlortoo left00:01
chrischambers left00:03
alex__c2022 joined00:04
lgbr joined00:05
lgbr I can ssh one-way, and I want to effectively do a reverse clone from a repository on an ssh client to a new repository on an ssh server00:06
cbreak if you have a new repo on the server, just push00:07
lgbr cbreak: it complains if I do that on a non-bare remote repo00:07
lucasvo left00:07
cbreak of course00:07
push it to a new branch00:07
one that does not exist on the remote yet00:07
lgbr can i move that new branch to master?00:08
Sigma left00:08
cbreak yes...00:08
once you are sitting in front of the repo :)00:08
you can merge, reset master, just kill master and rename the other...00:08
the possibilities are only limited by your knowledge of git00:09
chrischambers joined00:10
kanru joined00:10
Sigma joined00:11
dTx joined00:11
lgbr cbreak: that worked. Thanks!00:12
schlortoo joined00:12
bauruine left00:13
cbreak np :)00:13
lgbr left00:14
dTx Git rulez. It's restored my faith in scm, and made my Software Engineering teamwork actually enjoyable. Just thought I'd say thanks for the work.00:14
amason joined00:14
bauruine joined00:15
dTx left00:15
Guest34333 left00:16
letas left00:16
archis joined00:16
archis left00:17
darkredandyellow left00:19
mcdebugger left00:19
Utkarsh left00:20
mkramer joined00:23
normanrichards joined00:24
mbroeker left00:24
leroux joined00:24
coderdad joined00:25
Utkarsh joined00:25
tewecske left00:25
adamm left00:26
mkramer left00:29
xiangfu joined00:29
aspotashev left00:30
Utkarsh left00:31
Aleric left00:31
simplechat left00:33
enherit left00:33
patmaddox left00:34
itrekkie left00:36
Utkarsh joined00:37
mmoya left00:38
Chaser left00:40
chrisshattuck joined00:40
rchavik joined00:40
jogla joined00:41
Utkarsh left00:41
xiong joined00:41
dgtlmoon joined00:42
sjl left00:43
mmoya joined00:44
itamarjp joined00:45
constantc left00:46
spaceonline left00:46
Utkarsh joined00:47
flazz joined00:48
ricky left00:49
cylence left00:50
NickyP left00:50
guardian joined00:50
guardian left00:51
Kenjin left00:53
nakkor left00:55
tj left00:58
dgbaley27 joined00:59
Utkarsh left00:59
tj joined00:59
tj left00:59
chrisshattuck left01:02
bentob0x left01:02
tj joined01:03
ricky joined01:04
Utkarsh joined01:05
jcdnyc joined01:05
lemonchicken joined01:05
noktoborus_ left01:05
jcdny left01:06
noktoborus_ joined01:06
Anti-X left01:07
NotreDev_ joined01:08
krzysz00 joined01:08
NotreDev left01:09
NotreDev_NotreDev01:09
abetaha left01:09
alvaro_o left01:09
kanru left01:09
jcdnyc left01:10
_Utkarsh joined01:10
pedrobelo joined01:10
jcdnyc joined01:11
Utkarsh left01:12
Anti-X joined01:12
dgbaley27 I'm trying to do this: git archive -o linux-2.6.37-rc2.tar --remote=git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git v2.6.37-rc201:12
fatal: The remote end hung up unexpectedly01:13
Is the command not correct, or is the feature disabled on their end...?01:13
_Utkarsh left01:14
jds left01:16
kenichi left01:18
jds joined01:18
Utkarsh joined01:19
Yuuhi left01:20
abetaha joined01:22
Adys left01:23
frogonwheels dgbaley27: possibly they've disable that feature to stop people from pulling the whole kerenl tree each time?01:23
dgbaley27: clone it and archive locally I'd say.01:24
warlock_mza joined01:24
dgbaley27 That is to prevent me from download the whole tree01:24
m104 left01:24
xiangfu left01:26
pedrobelo left01:26
sshc_sshc01:27
frogonwheels dgbaley27: my guess only,..01:29
NickyP joined01:30
Adys joined01:30
ricky left01:30
frogonwheels dgbaley27: it's to preven you from always downloading the whole tree like that (once off owuld be fine)01:30
pedrobelo joined01:31
banjiewen left01:31
sunil left01:31
ricky joined01:31
kenneth__ left01:32
kenneth_reitz joined01:33
aah left01:33
envi left01:33
mdel joined01:34
beatak left01:34
amh345_ joined01:35
ricky left01:36
amh345 left01:38
amh345_amh34501:38
envi joined01:39
Evious left01:41
jtaby left01:46
xiangfu joined01:46
bitkiller left01:46
amh345_ joined01:46
amh345 left01:47
amh345_amh34501:47
krzysz00 if you're using, say github, and you need to go hack on your project for a while in a place with no Internet, can you still commit to git and just push up the changes when you get a connection?01:47
SethRobertson Of course01:47
It doesn't matter what your upstream is. That is a core feature of git01:47
warlock_mza left01:48
davidfetter_vmw left01:50
sdwrage left01:53
dgbaley27 left01:54
abetaha left01:56
kanru joined01:58
mikeric left02:00
jfkw left02:02
Utkarsh left02:03
jfkw joined02:03
Yuffster joined02:04
apetrescu krzysz00, you don't lose any of git's functionality in that situation. You can even branch, merge, etc. When you get connectivity next, pushing will sync all of that over.02:04
kukks left02:07
Elfe left02:07
russkey joined02:07
russkey is there a way to git commit --verbose by default when committing?02:08
ooooPsss left02:08
russkey because "-v" is just too much to remember and type =P02:08
Utkarsh joined02:08
ponto_ joined02:10
SethRobertson russkey: You can use man git-config command to define an alias. vcommit or perhaps ci. Then `git vcommit` could actually run `git commit -v`02:12
jast russkey: the 'git-config' manpage can be found at http://git.or.cz/man/git-config [automatic message]02:12
Utkarsh left02:13
nakkor joined02:13
chadh joined02:13
nakkor left02:13
BiggFREE joined02:14
ponto left02:14
russkey well, at that point i think i would rather make a gitc bash alias to go along with my gits alias (git status), SethRobertson. thanks02:15
BiggFREE left02:16
BiggFREE joined02:16
gretch joined02:16
lightcap_ joined02:17
lightcap_ left02:18
stliu joined02:19
amerine left02:20
steph021 left02:22
amerine joined02:22
sdwrage joined02:23
phantomcircuit joined02:23
ricky joined02:23
Elfe joined02:25
pedrobelo left02:26
pedrobelo joined02:26
jspiros left02:27
pedrobelo left02:27
hebz0rl_ joined02:28
karptonite joined02:29
digitalfiz is there a easy way to remove/add files all at once?02:29
alex__c2022 left02:30
digitalfiz i moved a ton of images from 1 folder to another but in the repo it shows them in both the old directory and the new02:30
chrischambers left02:30
Utkarsh joined02:31
yatiohi joined02:31
trochala left02:31
hebz0rl left02:31
sdwrage left02:31
tj left02:33
sdwrage joined02:36
frogonwheels digitalfiz: git mv02:37
jarrod_ left02:37
mikeric joined02:38
hobodave left02:38
frogonwheels digitalfiz: if you use git gui it shows up the removed/added and you can just stage both the delete and the add :)02:38
zombor left02:40
zomgbie left02:41
phantomcircuit left02:41
andrewa2 joined02:43
Unknown[NF] left02:43
Utkarsh left02:43
digitalfiz frogonwheels, no single command to do it i already moved them all id like to not have to do that per file02:43
jmorris joined02:44
SethRobertson git add -A02:44
andrewa2 i could use some help recovering from a corrupted object. It's currently where HEAD is pointing. I can clone the repo again from my remote, but how can I unpack the same object and replace it in my corrupted, original local repo? (or am i thinking about this the wrong way)02:44
(i'd like to uncorrupt this repo as I have a local topic branch i need to recover)02:44
jogla_ joined02:47
Utkarsh joined02:47
danhealy left02:49
jogla left02:49
jogla_jogla02:49
Murr_ joined02:52
_habnabit joined02:53
_habnabit Is there a way to use rebase to merge the second commit into the initial commit?02:53
yhager left02:53
krzysz00 left02:53
frogonwheels _habnabit: git rebase -i HEAD~2 (or is it 3) and then use 'squish' or 'bugfix'02:54
saysjonathan left02:54
_habnabit Well, no, that's the most recent.02:54
I mean the absolute first.02:55
frogonwheels ooohhh02:55
_habnabit: sorry02:55
_habnabit Usually I do `git rebase -i <preceeding commit id>` but there is no parent commit.02:55
And if I pass the commit id of the first revision, I can't squish it.02:55
frogonwheels _habnabit: you essentially have to make a whole new tree!02:56
andrewa2 _habnabit: http://stackoverflow.com/questions/598672/git-how-to-squash-the-first-two-commits02:56
_habnabit Aha.02:56
thx.02:56
frogonwheels andrewa2: cool02:56
Utkarsh left02:56
aisipos left02:57
andrewa2 _habnabit: thank stackoverflow.com! ;-)02:57
_habnabit Oh man I didn't know you could detach HEAD.02:57
This is awesome.02:57
I made temporary branches for this before.02:57
phantomcircuit joined02:58
pedrobelo joined02:58
andrewa2 not to keep pestering everyone, but does anyone have advice on my issue? i want to replace a corrupted git object. I can get a fresh clone of the repo, but how do I unpack that object and replace it in the corrupted repo?02:59
pedrobelo left03:00
rohanpm andrewa2: what does `git fsck' say for your corrupt repo?03:01
frogonwheels andrewa2: http://git.661346.n2.nabble.com/How-to-replace-a-single-corrupt-packed-object-td680795.html ... unpack the packfile (-r ?) and then replace the corrupt object before packing it?03:02
andrewa2 rohanpm: running `git fsck` just tells me about the corrupted object again03:02
fatal: object cc6df31dfbc5231441c4b815975d576420517d8a is corrupted03:02
(note, HEAD is pointing to that object)03:02
rohanpm well, first backup the entire corrupt repo if you haven't already03:03
andrewa2 k03:03
normanrichards_ joined03:03
rohanpm then check that your clean repo actually has that object - e.g. `git show cc6df31dfbc5231441c4b815975d576420517d8a' should show something03:03
fruight1 joined03:03
andrewa2 cool, i did that, it's a commit03:04
fruight left03:04
alberto56 left03:05
chadh Can anyone help with a gitolite wildcard repo question? I have been banging my head overthis for a couple hours, and I'm stuck03:05
rohanpm andrewa2: then check if the clean repo has the file .git/objects/cc/6df31dfbc5231441c4b815975d576420517d8a03:05
frogonwheels andrewa2: is the object unpacked anyway .. like in .git/objects/...03:05
phantomcircuit left03:05
steph021 joined03:06
steph021 left03:06
steph021 joined03:06
normanrichards left03:06
jmorris left03:06
andrewa2 rohanpm frogonwheels: no, my clean repo has the objects all packed up. when i try `git unpack-objects -r < .git/objects/pack/*.pack` nothing happens...03:06
https://gist.github.com/07f9a42a72f5260787ac03:08
russkey left03:08
vitorpc left03:08
frogonwheels andrewa2: http://thread.gmane.org/gmane.comp.version-control.git/40893/focus=4089603:09
andrewa2: see comment about moving the pack away (from linus)03:09
andrewa2 frogonwheels: aaaah, it's doing something....03:10
I suppose that's what this text means:03:11
"Objects that already exist in the repository will not be unpacked from the pack-file. Therefore, nothing will be unpacked if you use this command on a pack-file that exists within the target repository."03:11
http://www.kernel.org/pub/software/scm/git/docs/git-unpack-objects.html03:11
schambers joined03:12
Utkarsh joined03:13
andrewa2 huzzah! after the unpack, i was able to copy the object from the fresh repo into the corrupted repo and initially everything looks good (just a few dangling commits upon `git fsck`)03:15
thanks frogonwheels and rohanpm!03:15
Bombe left03:16
frogonwheels andrewa2: np - that was quite instructive for me too :)03:17
Bombe joined03:17
andrewa2 frogonwheels: well good call on your part with actually reading git-unpack-objects's man page and understanding it ;-)03:17
Utkarsh left03:18
normanrichards joined03:18
kukks joined03:19
schambers left03:20
bronson left03:20
mmoya left03:21
friskd left03:21
normanrichards_ left03:22
friskd joined03:22
friskd left03:22
sitaram chadh: what's the question?03:22
friskd joined03:22
sunil joined03:23
chadh sitaram: see http://pastie.org/130743103:23
daleackerman joined03:23
rayners joined03:23
_habnabit left03:23
offby1` left03:24
sitaram chadh: can you paste output of "ssh gitolite@myserver info; ssh gitolite@myserver expand"03:24
offby1 joined03:24
chadh sitaram: heh. refresh. I just added them. thought that was interesting03:25
offby1 this channel has some weird setting that prevents me from changing my nick back from the automatically-assigned one to my normal one.03:25
saysjonathan joined03:26
envi left03:27
kadoban left03:27
kadoban joined03:28
justin-george left03:28
AndrewK left03:28
airborn left03:29
sitaram chadh: the info command should look like: http://pastebin.com/7PuswXbh (notice the "C" part?)03:30
chadh: I used the exact config you gave me to get that output03:30
envi joined03:30
sitaram chadh: so... can you paste "cat ~/.gitolite/conf/gitolite.conf" from the *server*03:31
chadh sitaram: sorry, that info and expand command were run by the user I am having problems with. if I run it as chadh, it looks like yours03:31
sitaram chadh: who's trying to *create* the repo? You or him?03:32
chadh sitaram: I created the repo, but I want him to be able to read it. so I used setperms to add him to the READERS group03:33
Utkarsh joined03:33
sitaram chadh: can you paste the same commands output for yourself?03:33
chadh sitaram: I left out the initial clone and the setperms command.03:34
aah joined03:34
chadh sitaram: I added the info and expand to the bottom of the paste. I'll do a clone now03:34
Bass10 left03:35
hobodave joined03:36
programble left03:39
hobodave_ joined03:39
chadh sitaram: okay, maybe it is a little clearer now? I show a clone, update, commit, and push.03:39
sitaram chadh: it works fine here; same gitolite version... you'll have to paste me both the files in "~/.gitolite/conf" on the server I guess... but I'm not sure whats happening here03:40
chadh sitaram: you are able to check it out as the other user?03:41
fr0sty__ left03:42
sitaram chadh: sure... want me to paste the whole thing like you did?03:42
hobodave left03:42
chadh sitaram: I trust you.03:42
sitaram :)03:42
fr0sty joined03:43
chadh sitaram: the only place user randy is defined is in teh setperms stuff (his key is installed, though) could that be the problem?03:43
jgautier joined03:43
sitaram chadh: besides, ever since I created a proper test suite, I dont push till it passes anyway!03:43
chadh his name doesn't show up in the config file03:43
fruight1 left03:43
fruight joined03:44
sitaram chadh: shouldn't matter... I just used your config as is, and my "randy" (actually "u1" in my test) doesnt appear either03:44
ChanServ set mode: +v03:44
chadh ok. well my whole config is at http://pastie.org/130750303:44
sitaram chadh: erm... you dont have *two* servers with similar configs do you?03:44
jgautier hey i have some changes in my repository that have not been committed and i want to revert all my changes and get the exact copy from the remote repository03:44
whats the command to do that03:45
chadh sitaram: nope. just the one03:45
sitaram: btw, the install script didn't like a [email@hidden.address] key, but is it okay for me to use them for the gitolite-admin repo? You can see my "hack" in that pastie03:46
sitaram: so it's okay that the info and expand info for randy don't match up? How can that happen?03:47
Utkarsh left03:47
Textmode joined03:49
mdel left03:49
sitaram chadh: install script won't like it because of complications in dealing with it. Keep one key as "chadh.pub" and the others as "chadh@foo.pub"03:49
mdel joined03:49
sitaram chadh: info and expand are matching for randy -- if you imagine the repo was *not* created at all03:49
chadh: which is why I asked if you had two servers :-) I'm puzzled...03:50
chadh: what TZ are you in? I just got in to work and after about an hour I can spend time on a /query debugging this03:50
chadh sitaram: EST, but I'll be here for a while03:51
sitaram chadh: I'll try and make that 30 min then... I'll /query you when I'm done with the morning rush of emails etc03:51
chadh great. thanks!03:51
timj_ joined03:52
Murr_ left03:54
ignatp left03:54
Elfe left03:54
Elfe_ joined03:54
chrislerum joined03:55
Utkarsh joined03:55
timj__ left03:55
jogla left03:58
dquestio2s joined03:59
shiba_yu36 joined04:00
mmoya joined04:00
dquestions joined04:02
dquestions left04:02
dquestio2s left04:03
Utkarsh left04:03
justin-george joined04:03
dreiss left04:03
dquestions joined04:04
dquestions hi, how do i force merge my changes (ignore conflicts and just take my current files as the current head)04:04
karptonite left04:04
dquestions the problem is there is some conflicts with "project" files that just breaks stuff (not actual source code)04:05
so i'm not sure how to fix those merge conflicts04:05
?04:05
fr0sty__ joined04:05
anirudhr joined04:05
saysjonathan left04:06
fr0sty left04:06
sunil left04:06
dquestions anyone?04:06
anirudhr left04:07
frogonwheels dquestions: git checkout --ours -- <filename> iirc look at man git-checkout04:08
jast dquestions: the 'git-checkout' manpage can be found at http://git.or.cz/man/git-checkout [automatic message]04:08
andrewa2 left04:08
frogonwheels or is it --mine04:08
fruight left04:09
hohoho joined04:09
dquestions i already did git checkout04:09
i'm at the stage i like04:09
i just need to do a git merge --strategy=ours master?04:09
mmc joined04:11
Utkarsh joined04:12
mklappstuhl left04:14
hebz0rl_ left04:14
Textmode left04:15
dquestions how do i do force revert without mergeing04:15
git reset04:16
i see04:16
Utkarsh left04:17
TeckniX left04:17
dquestions god damn it :(04:17
wuj left04:19
Utkarsh joined04:22
cylence joined04:22
cylence left04:22
lightcap_ joined04:23
lightcap_lightcap04:27
prs joined04:27
edude03 joined04:27
edude03 Hello everyone04:28
Utkarsh left04:28
phantomcircuit joined04:30
newchromiumuser joined04:32
newchromiumuser left04:32
phantomcircuit left04:33
sec^nd joined04:33
sec^nd hi04:33
hi04:33
phantomcircuit joined04:33
Utkarsh joined04:33
sec^nd I have a remote repo that I checkout from my local repo (ssh), I want to push changes from my local repo to the remote repo, but the remote repo wont allow it because of this error "remote: error: refusing to update checked out branch: refs/heads/master"04:34
+ some more text04:34
I tried push --all but got the same error04:34
SethRobertson faq non-bare04:35
jast SethRobertson: Pushing to non-bare repositories is discouraged: please see https://git.wiki.kernel.org/index.php/GitFaq#non-bare [automatic message]04:35
jarrod_ joined04:35
sec^nd what is the correct way to have repos that can be pushed and pulled from, meaning I can work on both and merge changes ?04:35
offby1 sec^nd: like the man says: faq non-bare04:35
sec^nd what is git merge for then ?04:37
Textmode joined04:37
sec^nd can I merge changes between oooh nvm04:37
offby1 er ... for creatig merge commits?04:37
sec^nd I guess merge merges commits04:37
lag :P04:37
edude03 What is "no changes added to commit"?04:38
when I git commit04:38
Utkarsh left04:38
offby1 hmm, duno04:38
maybe you didn't "git add" anything04:39
does it say "no changes added to commit (use "git add" and/or "git commit -a")"?04:39
If so, then my guess is probably right04:39
or maybe "nothing to commit (working directory clean)"04:40
If so, then my guess is (again) probably right :-)04:40
edude03 Yeah that's the error04:40
sec^nd -.-04:40
I did a reset hard and it still didn't work04:40
edude03 the first one offby104:40
offby1 edude03: remember, git wants you to put all your changes into the "index" first, with "git add".04:40
edude03 But to commit changes on stuff that's already added?04:40
offby1 that _should_ work.04:40
if it doesn't, paste a transcript; either you've found a bug or (far more likely) are doing something wrong04:41
sec^nd both repos are on different commits because one is outdatated04:41
boombatower joined04:41
offby1 sec^nd: as I said to edude03: paste a transcript, so we can see what's going on04:41
sec^nd I could probably update the other repo with git pull but I prefer push the changes so I dont have to log into the server04:41
offby1 trying to describe it in prose is a waste of time.04:41
You're not knowledgeable enough to describe it precisely, and we (or at least I) am too lazy to try to decipher your description04:42
steph021 left04:42
steph021 joined04:43
daleackerman left04:43
sec^nd http://pastebin.com/RC1N5DF704:43
offby1: ^04:43
edude03 offby1: http://pastie.org/130759204:43
offby1 hole on folks!04:44
one at a time, no shoving.04:44
edude03 shoves sec^nd04:44
sec^nd stabs edude0304:44
offby1 hey you!04:44
you must be _this_ high to enter.04:44
offby1 holds hand four feet off the ground.04:44
Utkarsh joined04:44
offby1 sec^nd: anyway, your problem is simple: your remote is not bare (boo, hiss), and even worse, it has the same branch checked out that you're trying to push.04:45
If it were to let you do the push, then the checked out branch would (if someone were to do "git status") appear to have lots of changes, which is _super_ confusing.04:45
sec^nd -.-04:45
offby1 So git is preventing you from doing that.04:45
Since it's super-confusing.04:45
sec^nd so how do I super fix it ?04:45
offby1 so to get around this: maybe you can "ssh" into the remote box, and check out some other branch.04:46
or: ssh over there, and set the config setting that the message suggests.04:46
sec^nd offby1: there is only one branch (master)04:46
rayners left04:46
sec^nd offby1: I just want to be able to push and pull from repos04:46
offby1 or (ideally) ssh over there and convert the repo to a bare repo, and live in peace and harmony hereafter.04:46
sec^nd: is there a reason why you didn't make that repo bare to begin with?04:46
offby1 is guessing that it's a working tree where a developer does, like, y'know, actual hacking04:47
sec^nd offby1: I just git clone'd the repo from my local repo on the server04:47
offby1 not sure I understand that04:48
do you control both repositories?04:48
FireFoxIXI joined04:48
sec^nd offby1: I'm working on both repos04:48
sometimes when I'm away I work on the remote repo04:48
offby1 sure, but: do you _control_ both repositories?04:48
sec^nd when I'm local I work on the local repo04:48
offby1 *sigh*04:48
just a simple "yes", "no", or "I don't know what you mean"04:49
sec^nd yeah I guess so ...04:49
offby1 OK. Would it be a pain in the butt to make that remote repo bare?04:49
sec^nd LAG04:49
Utkarsh left04:49
sec^nd [Lag: 14.782]04:49
offby1 i.e., have no working tree?04:49
If not, just do it.04:49
sec^nd offby1: no04:49
how do I make it bare04:49
offby1 pretty easy:04:49
"move" the .git directory up one level in the directory hierarchy.04:50
So: if it's currently (say) /usr/local/src/project/.git04:50
rename it to be /usr/local/src/project04:50
naturally you'll have to rename /usr/local/src/project _first_04:50
sec^nd thats confusing04:50
offby1 once you've done that, then edit /usr/local/src/project/config and add "bare=true" to ... uh ... one of the stanzas04:50
sec^nd I know what you mean somewhat04:50
but how would I see the files ?04:51
offby1 you wouldn't.04:51
if you need to see the files, then you shouldn't make it bare.04:51
sec^nd isn't git supposed to support multiple users ?04:51
offby1 sure04:51
sec^nd meaning I can clone a repo and push changes back to that repo (with permission)04:51
offby1 sure sure04:51
sec^nd how do I do that ?04:51
offby1 stares blankly04:51
sec^nd you seem off by 1 -.-04:52
offby1 I suspect your question is eminently reasonable, but I don't see how it relates to what we've been discussing.04:52
sec^nd or more ...04:52
offby1: because I work on both servers04:52
I want to be able to sync to those repos04:52
offby1 yeah, and you want a working tree on both, I'm guessing.04:52
well.04:52
you can (I think) give a "--force" argument to git push, which means "yeah yeah, I know, but push anyway".04:53
in which case you need to be aware of the potential confusion. But if you're OK with it, then fine.04:53
another option is to have a _third_ repo (gasp!) which is indeed bare, and which you use as a central clearinghouse kinda place.04:54
that's not as unusual as it might sound.04:54
github is a popular choice.04:54
jgautier hey whats the best git book for newbies?04:54
offby1 jgautier: can't tell you, really.04:54
sec^nd google04:54
offby1 jgautier: but my generic git advice is: general-purpose git advice: 1) Read "Git For Computer Scientists" (http://eagain.net/articles/git-for-computer-scientists/); 2) Run "gitk --all"; 3) Learn about "git reflog"04:54
jgautier cool i can get by using google but i really have no idea what im actually doing04:55
offby1 edude03: I haven't forgotten about you ... but to be honest, I _have_ forgotten your question :-|04:55
jgautier just running the commands that i find on google04:55
:P04:55
edude03 offby1: how do I commit :|04:55
offby1 jgautier: I'd start with git-scm.com04:55
sec^nd edude03: you need to git add those files04:55
git add ...04:55
then git commit04:55
Utkarsh joined04:55
sec^nd you have to git add modified files too04:56
offby1 (god I hate pastie.org)04:56
edude03 I don't really care to track tohose files04:56
What?04:56
I have to add files that are modified?04:56
abetaha joined04:56
steph021 left04:56
offby1 edude03: you don't need to do anything about the untracked files.04:56
steph021 joined04:56
offby1 but you do need to either "git add" ProgressLog.txt, or else just do "git commit -a"04:56
edude03 OK so in future git commit -a always?04:57
Textmode left04:57
Cacheaway edude03: "add" is not something you do one to add files to the project04:57
offby1 edude03: that'll work, but you lose the (arguably) nice benefits of the index.04:57
some of us actually _like_ the index.04:57
offby1 glances around nervously.04:57
offby1 really, we do.04:57
edude03 I'm a git beginner04:57
offby1 backs away slowly04:57
edude03 What's the index?04:57
Cacheaway you "add" changes to the staging area (unfortunately named the index) and then commit04:57
offby1 edude03: it's the thing that sits between your working tree and the repo, and is why you gotta "git add" ;-|04:57
edude03: you need to read at least a tutorial.04:58
jgautier left04:58
offby1 you _have_ to know about the index to use git. No getting around it.04:58
kukks left04:58
Mizar-jp joined04:58
Cacheaway edude03: the "index" is the staging area for your commit. it consists of what you have "added" since the last commit04:58
edude03: are you coming from svn?04:58
edude03 Yes :(04:59
Cacheaway ok04:59
offby1 I have never quite understood why the index exists in the first place. I assume it was originally created as a performance hack, and later proved useful for other reasons.04:59
sh1mmer joined04:59
Cacheaway in svn, you "add" files to the project and they are now under source control, and when you commit, you are committing all the changes04:59
eletuchy_ joined04:59
welly left04:59
sec^nd me too04:59
phantomcircuit_ joined04:59
Cacheaway in git, there is a middle ground between your working copy, and the commit. it's called the index.05:00
offby1 yep05:00
Cacheaway the index is basically a staging area for the enxt commit05:00
hyperair joined05:00
offby1 yep05:00
Cacheaway "git add" puts changes into the index.05:00
offby1 and is often (confusingly) _called_ the "staging area".05:00
It's even also called the "cache".05:00
Three names for one thing.05:00
Utkarsh left05:00
edude03 What's the staging area?05:00
offby1 index == cache == staging area05:00
three names, same thing.05:01
edude03 What's the purpose?05:01
offby1 I guess that's better than three separate concepts, but still.05:01
bob2 http://vi-server.org/vi/gitbasic.txt05:01
offby1 edude03: heh. As I said above: I've never known.05:01
Cacheaway git allows you to commit some changes and leave others for another commit, or never commit them at all05:01
for example05:01
offby1 true true05:01
Cacheaway if you are on a fresh checkout, and you modify two files, you can then "git add file1"05:02
you are not adding the file to git05:02
you are adding your changes in the faile to the index05:02
cytrinox_ joined05:02
eletuchy left05:02
Cacheaway at this point, if you do a commit, ONLY the changes in file1 will be actually committed,05:02
file2 will still be in a modified state05:03
phantomcircuit left05:03
Cacheaway does that make sense?05:03
edude03 Yeah that makes perfect sense :P05:04
bob2 the above link is a pretty good explanation05:04
dr_win left05:04
edude03 So why do I lose my index if I git commit -a?05:04
Does it just restage everything?05:04
Cacheaway you don't lose anything, you just kinda skip it05:04
edude03 bob2: Sorry I forgot to thank you I was just reading it05:05
bob2 edude03: thank _Vi :)05:05
mikeric how can i rebase edit a commit that's just before a merge commit?05:05
Cacheaway git commit -a basically runs a git add on all modified files05:05
and then a commit05:05
edude03 What's wrong with that?05:05
richard28530 joined05:05
edude03 That's usually exactly what I want to do :p05:05
mikeric for some reason it doesn't work as i'd expect. it recommits them ontop of head.05:05
Utkarsh joined05:06
Cacheaway nothing is WRONG with it, you are just bypassing a powerful tool you have at your disposal05:06
cytrinox left05:06
cytrinox_cytrinox05:06
Cacheaway I use it sometimes when i know I want to commit everything i've changed05:06
edude03 Well for me05:07
Usually I'll set out to fix a specific bug05:07
which touches multiple files (like having to update a method signature)05:07
so lets say I have to update 4 files, I'd like to commit the bug fix as a whole (which would be all 4 files)05:08
eletuchy_ left05:09
edude03 But anyway I understand now so thanks guys05:10
One other thing though05:10
I'm working on my local machine and only my local machine05:10
but what do I do when I want to move the repo to a remote server?05:10
Utkarsh left05:10
Cacheaway yes that's fine. But how about this scenario. There is a fifth file you changed which you do not want to commit. perhaps it is a config file in which you enabled debugging or somehthing while hunting down the bug. using the SVN way (commit -a) you would need to revert that file first. if you git add the 4 files you want to commit, and then do a regular commit, you don't need to revert first05:11
edude03 True, I can definitely see how that can be useful05:12
Cacheaway you seeing it as useful is all I was hoping for ;) I'm not eveangelizing05:12
you have a few ways you can move it to another server. the easiest would be just to copy the whole folder05:13
edude03 Evangelize all you want I left SVN willingly :P05:13
Cacheaway heh.05:13
Are you are going to be wanting to push / pull from the remote server?05:14
offby1 edude03: ever notice how "svn switch" breaks your working copy about 30% of the time?05:14
Cacheaway like, you are setting it up there so you can work from 2 places?05:14
edude03 hmm setting it up so multiple people can commit05:14
offby1 edude03: you probably want gitolite05:15
unrelated to dynomite, in case you were wondering05:15
edude03 I was think gitorious actually05:16
offby1 oh, that too05:16
zombor joined05:16
offby1 or github05:16
Cacheaway edude03: you get a pass as an svn convert, but surely you mean so multiple people can puish?05:16
offby1 phish?05:16
sec^nd -.-05:16
offby1 squish?05:16
Cacheaway push05:16
sec^nd how can users share a repo ?05:16
edude03 Is that what I mean?05:16
I mean for team work purposes?05:17
offby1 sec^nd: basically two ways: 1) gitolite; 2) wizardly Unix permissions05:17
Cacheaway edude03: every user will have his/her own copy of the entire repo, and be doing commits05:17
to their own copy05:17
offby1 edude03: that's metaphysically absurd, man! How can _I_ know what _you_ mean!05:17
sec^nd offby1: I'm still having the same problem, -.-05:17
offby1 sec^nd: which?05:17
sec^nd I want these repos to have a way to be in sync05:17
Cacheaway pushing and pulling are how two copies of the same repo sync up05:17
sec^nd the push error05:17
Cacheaway: its giving me errors :/05:18
Utkarsh joined05:18
edude03 LOL offby1 I mean whatever the term I mean that would allow me to work with other people on the same code05:18
mikeric is there a way to merge a single commit in?05:18
sec^nd hmm05:18
Cacheaway edude03: there are two mechanisms, push and pull05:18
mikeric forget everything before and after it.05:19
offby1 sec^nd: like I say: 1) make a third, bare repo, and have both existing repositories push to that instead of pushing to each other; or 2) pass "--force" when you push; or 3) configure the remote to allow this sort of push; or 4) check out some other branch on the remote05:19
I _think_ those are the only options05:19
sec^nd I'm going to try and create a seperate repo for them and then have a working repo05:19
Cacheaway if a user has write access to a remote repo, they can push to it05:19
offby1 mikeric: you probably want "git cherry-pick"05:19
it doesn't, strictly speaking, "merge" the commit; but it applies that patch that the commit represents.05:19
Cacheaway otherwise, they can give read access to the owner of the remote, and the owner can pull from them05:19
so, there are a few options05:20
edude03 Hmm that makes sense05:20
yhager joined05:20
edude03 But you can't pull from another users repo if they don't have a public IP right?05:20
Cacheaway you could setup one certral location, and it's the master repo, and everybody can push to it and pull from it05:20
edude03 Or otherwise aren't set up to serve05:20
Cacheaway correct05:20
edude03 Yeah so a central location is what I'm trying to set up05:21
or will be soon05:21
CrypTom left05:21
Cacheaway well, this can be as easy as sharing a common login on a ssh server somewhere05:21
sec^nd how do I pull from a repo overwriting all changes ?05:21
offby1 yeah ... although gitolite is probably a better choice if there's any chance you'll have more than (say) three collaborators05:22
Cacheaway git speaks ssh and can use it for pushing and pulling05:22
offby1 sec^nd: first, you could "git reset --hard HEAD", which will destroy all uncommitted changes.05:22
Cacheaway defers to offby1 as he knows nothing of gitolite05:22
offby1 sec^nd: then, you can "git fetch; git merge --strategy theirs". I think. (Haven't actually tried it.)05:22
Cacheaway: I've only played with it, but I know that's what it's for, and I know the author is generally here on #git and is very helpful.05:23
Cacheaway offby1: you need to pay to have a private project on github, right?05:23
Utkarsh left05:24
Cacheaway is going away to catch up on Dexter TTFN #git, gl, edude0305:25
edude03 LAter Cacheaway thanks again05:25
YEah you have to pay for github05:26
I'd love to use it but I'm not sure it's worth it for me :/05:26
Besides05:26
Eridius left05:26
edude03 Just recently github crashed and lost a bunch of data05:26
bob2 lost a tiny amount of data at worst05:27
edude03 I don't know the magnitude to be honest05:27
but 1 byte = too much :P05:27
sitaram edude03: not much, if at all. Only some pull requests. Actual repo data was never lost -- it's not even part of the "database" that they accidentally broke05:27
enherit joined05:28
sitaram edude03: 1 byte == too much if this was git repo data, I agree. It wasn't. It was ancillary stuff; most people get by ok without that :) YMMV05:28
edude03 yes two == signs05:28
http://twitter.com/marcan4205:29
Was talking about it the other day05:29
madewokherd left05:29
sitaram edude03: it's definitely worth it if you don't want to roll your own. As for that twitter page, I doubt the status is still the same (but I *am* surprised he said the repo was gone... not accessible while the super-structure went AWOL, I think)05:30
offby1 edude03: coincidentally, just when github was down, I wanted to get some commits from my laptop to a hosting site. It took me maybe ten minutes longer than it would have if github were up, but I did it with no trouble.05:30
hyperair left05:30
offby1 (most of those ten minutes were spent reading the "git bundle" manpage)05:31
edude03 I'd also love to roll my own github05:31
zombor left05:31
sebastorama left05:31
edude03 Gitorious should be close enough though05:31
Utkarsh joined05:31
mdel left05:31
edude03 I just need some CI and I'm good05:31
offby1 edude03: your uptime would probably be about 85% of theirs.05:31
edude03 Why do you assume that?05:31
sitaram edude03: gitolite comes close; see what KDE does with it at http://community.kde.org/Sysadmin/GitKdeOrgManual (section 4 and 5 are pretty much gitolite, with some custom code on their side)05:32
CrypTom joined05:33
offby1 edude03: because I'm guessing you're not a professional git-hosting company with years of experience.05:33
edude03 You'd be right about that.05:33
offby1 slaps self on back05:34
edude03 Though I do run a webhosting company05:34
offby1 that's a start.05:34
edude03 mhm05:34
offby1 it's entirely possible that you'd do as well hosting your own repositories as you would by using github. But for (I'd guess) 95% of hackers, github is a good choice.05:34
edude03 We run a VMWare cluster of 5 servers + 2 drobos for storage05:34
mikeric offby1: doesn't that make me the commiter at that point?05:35
offby1 mikeric: I'm not sure, actually.05:35
Try It And See™.05:35
mikeric offby1: yes, it does.05:35
so does a rebase, actually.05:35
offby1 It might make you the committer, but not the author (or vice-veras)05:35
mikeric right05:36
Utkarsh left05:36
mikeric i want to leave the history untouched.05:36
offby1 can't do it, then.05:36
without doing a simple merge.05:36
mikeric i'm trying ot prevent something that i seem to do a lot.05:36
offby1 go on05:37
mikeric i make a bunch of commits, and then i pull from origin. at this point i have all my new commits, mixed in with some new commits from co-developers.05:37
offby1 I suspect that, whatever your problem is, there's a reasonably simple solution05:37
mikeric and a merge commit at the top.05:37
then i push back to origin.05:37
offby1 sure sure05:37
totally typical05:37
mikeric only at this point do i realize a mistake in a commit i had, before the merge.05:37
offby1 aha05:37
ze plotz, she's a-thicken05:37
mikeric a mistake that would better be amended than a new commit.05:37
offby1 not really an option.05:38
once you've pushed.05:38
unless every one of your collaborators is willing to jump through some hoops05:38
mikeric i've done a git push -f a few times05:38
they don't seem to care05:38
i guess they just reset back a few and re-pull05:39
offby1 *shrug* then that's a reasonable fix.05:39
mikeric but that doesn't fix it.05:39
offby1 it doesn't?05:39
mikeric that just duplicates the commits.05:39
which is worse, lol.05:39
offby1 well, the old value of the branch will still have the old, bad commit.05:39
mikeric the problem is with the merge and rebasing.05:39
offby1 But everyone is expected to just forget about that old value.05:39
dreiss joined05:40
offby1 mikeric: you may need to cook up a tiny demonstration, to explain; I'm starting to have trouble following you.05:40
mikeric sure, one sec.05:40
sivy left05:41
Alexander_ joined05:42
Utkarsh joined05:42
jfkw left05:43
mikeric offby1: probably not any better.. http://pastie.org/130766705:47
nullvariable left05:47
offby1 gimme a sec05:47
gotta put on my anti-pastie goggles05:47
Alexander_ left05:47
mikeric sorry about the pseudo git logs there05:47
:)05:47
offby1 yeah ... lemme ponder it some more05:48
there's something weird05:48
you're showing that _after_ you pull, you get new commits -interspersed- with yours.05:48
That can't be right.05:48
mikeric yea, that's definitely right.05:48
girishr joined05:48
offby1 have you tried "gitk --all"?05:48
mikeric isn't that how git merge works?05:49
offby1 nope05:49
mikeric yes05:49
offby1 I'm stumped, then.05:49
unless you painstakingly construct like a shell script that reproduces the problem, I don't think I'm going to understand what you're asking.05:49
Utkarsh left05:49
tampakrap left05:49
burhan joined05:50
offby1 now, in general, if you realize there's a problem in some commit that isn't the tip, then the simplest course of action is probably to just create a commit that fixes the problem, and warn people not to build anything before that fix.05:50
burhan what's the name of the widget that displays the source code on github.com?05:50
offby1 no idea.05:50
mention joined05:51
burhan is the source of github.com available?05:51
offby1 it's probably specific to github, and proprietary, and You Can't Have It Nyaa Nyaa.05:51
burhan: heh, hell no.05:51
mikeric offby1: i guess it just comes down to me not wanting my silly mistakes present in the history..05:51
burhan its quite good05:51
offby1 burhan: I wouldn't be surprised if they've released a fair amount of open-source, but the guts of the service are how they make money.05:51
mikeric i'm ocd like that, i like to keep the commit history curated.05:51
offby1 burhan: if you really want to know, ask schacon;he works there05:52
mikeric: I'm the same way.05:52
girishr left05:52
MikhX left05:52
offby1 mikeric: I pile up a ton of local (more or less private) commits, and when it's time to publish 'em, I do a flurry of rebasing first.05:52
mikeric i hate little commits here and there like "whoops fixing blah", "another fix", etc.05:52
offby1 Most times I squash 'em all down to just one big patch-bomb commit.05:52
yep yep05:52
spatulasnout left05:53
offby1 mikeric: you've got the right attitude, in my humble opinion: your commits should be coherent.05:53
spatulasnout joined05:53
offby1 tell a story, etc.05:53
enherit left05:53
mikeric yea05:53
offby1 mikeric: once you've pushed, though, all bets are off.05:54
it's out there and you gotta deal with it.05:54
offby1 strains for an analogy05:54
mikeric well05:54
you could always reset back and push -f05:54
:)05:55
Utkarsh joined05:55
mikeric unless you merged and then pushed.05:55
offby1 sure, but that requires a bunch of patient collaborators05:55
chrislerum left05:55
mikeric yea05:55
offby1 at some point, you're down to just using "unison"05:56
Utkarsh left05:59
everyman_ joined05:59
ichat_system joined06:00
sdwrage left06:01
devanjan joined06:01
dieagram joined06:02
mikeric offby1: hmm, i just figured it out.06:03
aresnick left06:04
mikeric if i specify a commit sha to rebase to (instead of head^^^^^) (even if they are the same commit), then it doesn't take the merge commits into account.06:04
ichat_system left06:05
mikeric and then when i rebase, it keeps all the existing commits, but removes/ignores the merge commits, in which case it actually applies cleanly.06:05
at least it seems like it did :)06:05
Utkarsh joined06:05
mikeric man, i'm horrible at explaining this.06:06
blast_hardcheese If I'm absolutely positive that nobody has checked out from me and I haven't pushed anywhere yet, is checking out something in the past, then git commit --amend kosher? Will that break time?06:06
OOPMan joined06:06
hasrb joined06:07
offby1 blast_hardcheese: if you're sure, then go ahead06:08
doener joined06:08
blast_hardcheese Alright; I just did it, just seemed really scary, since I had a bunch of uncommitted changes that I was stashing/popping then re-stashing06:09
eletuchy joined06:10
roop_ joined06:10
MikhX joined06:11
Utkarsh left06:12
saysjonathan joined06:12
freimatz joined06:13
jspiros joined06:13
blast_hardcheese Oh crap, I lost a file06:15
Yeah, that was a terrible idea.06:16
Utkarsh joined06:17
richard28530 left06:17
selckin there is notting wrong amend, and it won't make you lose files06:17
alex__c2022 joined06:18
saysjonathan left06:18
blast_hardcheese git stash; git checkout <hash>; git stash pop; git add -p; git commit -m; git stash; git checkout master; git stash pop06:18
saysjonathan joined06:18
blast_hardcheese I lost two untracked files06:18
selckin the problem is git checkout <hash>06:18
Guest94165 joined06:18
selckin that puts you on a detached head, where you definitly shouldn't commit06:18
Guest97882 joined06:19
blast_hardcheese oh.06:19
theoros blast_hardcheese: when you did git checkout master06:19
blast_hardcheese: what does it say for "previous commit was"06:19
blast_hardcheese previous head position?06:20
theoros yes06:20
blast_hardcheese aaae, the hash I checked out06:20
selckin blast_hardcheese: if you want to amend to a random commit in the past, make a new commit, do git rebase -i <hash before it>, and then move the commit behind it, and pick squash/fix06:20
blast_hardcheese crap.06:21
krosenvold left06:21
theoros blast_hardcheese: so you can just do git tag dont_lose_me aaae06:21
Utkarsh left06:21
blast_hardcheese theoros: what would that get me?06:21
theoros that commit still exists, it's just not reachable06:21
krosenvold joined06:21
blahdeblah joined06:21
blast_hardcheese oh, no; I haven't lost any commits06:21
not that I can tell anyway06:21
I just lost files06:21
theoros oh you lost _untracked_ files06:21
blast_hardcheese they were untracked files.06:22
theoros how did that work06:22
blast_hardcheese Yeah I have no idea.06:22
Oh, wait a minute, I think I know how.06:22
itamarjp left06:22
blast_hardcheese one sec06:22
saysjonathan left06:23
saysjonathan joined06:23
blast_hardcheese Hm.06:23
blahdeblah Hi. Is there a git shorthand for diffing a remote repo's current state with its state at the last time i merged it? I want to view what has happened on the remote since my last pull.06:23
Yuffster left06:23
albel727_2 joined06:23
blast_hardcheese theoros: Is there a way I can list commits by time?06:24
alex__c2022 left06:24
blast_hardcheese the unlinked ones, that is06:24
bob2 blast_hardcheese: git log master..blah/master06:24
assuming ytou have updated lately06:24
blast_hardcheese where blah is something like origin?06:25
coderdad left06:25
bob2 yes06:25
sambarino joined06:26
Utkarsh joined06:26
albel727 left06:27
saysjonathan left06:27
alex__c2022 joined06:28
blast_hardcheese I don't think I lost anything... Yeah, I lost the untracked files, but I got VERY lucky-- they were still open in my IDE06:28
saysjonathan joined06:28
hyperair joined06:29
alex__c2022 left06:29
Utkarsh left06:29
xtagon left06:30
kanzure hmm this is odd..06:30
someone took a raw copy of a .git repo (not knowing what git was)06:30
and just edited the files, and now has a repo of his own starting from that state06:30
so i want to merge in the commits that he has in his fresh repo, into the mainline .git repo06:31
any ideas?06:31
edude03 left06:31
selckin just do it?06:31
kanzure what?06:31
richard28530 joined06:31
selckin thats normal workflow06:31
kanzure no it'sn ot06:31
he didn't clone the repo06:31
selckin doesn't mather06:32
kanzure i want those commits- with those dates- in the history06:32
this is not normal workflow06:32
selckin add his repo as a remote to yours and pull from it, and add yours to his as a remote and push06:32
either way its pritty normal06:32
kanzure hm06:32
dieagram left06:33
kanzure ok i'll try that06:33
saysjonathan left06:33
petran joined06:33
saysjonathan joined06:34
blahdeblah So, any suggestions on how to diff a remote's current state against the last time i merged it? I have the commit id if that helps...06:34
theoros diff your_remote/branch last_merge_commit06:35
doener blahdeblah: git diff <your_branch>...<other_branch>06:36
blahdeblah: that's three dots, and makes git do the merge base calculation for you06:37
digitalfiz so when i get master to a state i want should i branch it to like a 1.0 branch? im a n00b git user just started really06:37
tgunr joined06:37
theoros git doesn't prescribe your workflow06:37
you have to come up with one yourself06:37
you could have master contain your finished releases06:38
Utkarsh joined06:38
theoros or you could have a separate branch to handle that06:38
digitalfiz well what i want is like a "snapshot" or the code in that current state for future reference06:38
doener blahdeblah: in general: git diff A...B == git diff $(git merge-base A B) B ==> diff B against the common ancester06:38
digitalfiz: for that use case, use a tag06:38
saysjonathan left06:38
theoros you may find http://nvie.com/posts/a-successful-git-branching-model/ enlightening in some way06:38
digitalfiz that people can pull later if say 1.0 works for them but 1.2 doesnt06:38
theoros you could use a subset of that workflow or alter it in some way etc.06:38
digitalfiz awesome ty06:39
saysjonathan joined06:39
theoros where you tag, though, isn't really important06:39
if you get it to the state you want it and you tag it, that tag is reference-able06:39
goshawk joined06:40
blahdeblah doener: That doesn't seem like what i want, if i'm understanding you correctly. I want to see diff of - i.e. what's changed on the remote since i last i merged it. Both diff targets are on the remote.06:40
psankar joined06:40
blahdeblah s/- i.e.//06:40
Bad cut & paste editing by me06:40
theoros that seems like what you want06:41
take the remote, look at the closest common ancestor of your local branch, which will be the last time the two branches were merged06:41
then find the diff of the remote branch by comparison to that ancestor06:42
eventualbuddha left06:42
blahdeblah tries06:42
mmoya left06:43
theoros (i hope you aren't trying that manually)06:43
maybe it would be good to do it manually to see what A...B is doing06:43
blahdeblah no, with ...06:43
Rickardo1 I have managed to setup git and using it locally. Now I want to setup a server to push my repos on. Is it github I´m looking for?06:43
eventualbuddha joined06:43
theoros Rickardo1: you can set up your own server if you don't want to use github06:43
saysjonathan left06:44
blahdeblah theoros: in the example doener gave, A is origin/master and B is the commit id of the last time origin/master was merged locally, correct?06:44
frogonwheels Rickardo1: github is a public repository - (free is public anyway)06:44
saysjonathan joined06:44
Rickardo1 theoros: Ok, is there different git server software?06:44
frogonwheels Rickardo1: use gitosis if you want to host it on your own machines.06:44
Utkarsh left06:44
ss23 joined06:44
frogonwheels no06:44
theoros i can never remember, is gitolite > gitosis, or the other way around?06:44
Rickardo1 frogonwheels: ok06:44
frogonwheels Rickardo1: use gitolite06:44
ss23 I commited, haven't pushed, is there any way I can be like "Remove file X from that commit I just did"06:44
frogonwheels theoros: gitolite > gitosis yes (gitosis came first)06:44
Tianon left06:45
theoros the names really don't help06:45
ss23 (I would look in the documentations, but I don't know where to start :S)06:45
theoros ss23: type git status06:45
oh, sorry06:45
blahdeblah theoros: Because if that is correct, it's no giving me what i want: it's giving a diff of the local repo against origin/master at that commit id, which is not what i want06:45
theoros i read indexed instead of committed06:45
ss23: man git-reset06:45
jast ss23: the 'git-reset' manpage can be found at http://git.or.cz/man/git-reset [automatic message]06:45
frogonwheels ss23: and if you use git gui you can just click the 'ammend last commit' radio butotn :)06:46
albel727 joined06:46
sitaram theoros: no they don't. gitolite started life as "gitosis-lite". I renamed it in about 4-5 days after announcing it. And then pretty soon it became "gitosis-NOT-lite" but I dare not rename it again now ;-)06:46
theoros blahdeblah: what command did you type?06:46
ss23 Thanks theoros06:46
blahdeblah theoros: git diff origin/master...<commitid of last merge with origin/master>06:46
theoros ss23: as frogonwheels said, you could just git rm the file and then git commit --amend06:46
frogonwheels sitaram: hey at least it wasn't gitosisng06:46
theoros blahdeblah: you've done them the wrong way around06:47
sitaram theoros: so think of "lite" as being a "suffix" of some kind and that will help you remember it came later06:47
theoros blahdeblah: A...B is $(git merge-base A B) B06:47
blahdeblah tries again06:47
sitaram frogonwheels: oh I hate that ng stuff. I think of NTFS and NT and so on, for some reason (even though the N does not mean the same)06:47
frogonwheels theoros: or I was thinking anyway. I theoretically know how to use --amend06:47
theoros blahdeblah: you're looking for $(git merge-base B A) A, so it's B...A06:47
blahdeblah needs to understand merge-base better06:48
theoros frogonwheels: i use it a lot, i just also tend to use git reset HEAD^ <file>06:48
blahdeblah Thanks theoros - that's giving me the right stuff06:48
Dreamer3 joined06:48
frogonwheels theoros: I tend to commit the change and then rebase -i and 'bugfix' it06:48
theoros ss23: oh uh, git rm might not be what you want, depending on how you want "remove" to be interpreted.06:48
chadh sitaram: I thought it was like JJ from the TV show Good Times used to say: Git-O-LIIIITE!06:48
albel727_2 left06:48
theoros frogonwheels: do you know about --autosquash?06:48
Tianon joined06:48
Tianon left06:48
Tianon joined06:48
sitaram chadh: I'm probably not familiar with that one... :)06:49
saysjonathan left06:49
chadh sitaram: :10 into this: http://www.youtube.com/watch?v=v19PpD5uqL006:49
saysjonathan joined06:49
sambarino left06:49
sitaram chadh: thanks; I'll bookmark it (youtube doesnt work at work)06:49
Utkarsh joined06:50
theoros sitaram: i try to do that to remember, but.. it just doesn't stick06:50
chadh sitaram: aww. It was a catch phrase of the character.06:50
theoros sitaram: maybe now that i've had you yourself tell me, it might stick06:50
sambarino joined06:50
chadh sitaram: btw, I just swapped out those \h's, and I am in business, so that was definitely the problem06:50
sitaram theoros: ah well; don't worry if it doesn't...06:51
chadh: with what? [ \t] is the correct substitute06:51
theoros if i ever get around to actually using gitolite, that will definitely do it.06:52
sitaram chadh: brace, space, backslash, t, brace-close06:52
theoros: :)06:52
gretch left06:52
chadh sitaram: can you use \t in [] ? that's essentially what I used, though06:52
theoros blahdeblah: get it working?06:52
chadh sitaram: I used brace space tab brace-close06:52
blahdeblah blahdeblah: yep - beautiful. Thanks for your help.06:53
giallu left06:53
blahdeblah s/blahdeblah/theoros/06:53
theoros blahdeblah: good stuff. it's worth noting that diff has its own interpretation of the A...B syntax06:53
git rev-parse will give you a different meaning06:53
blahdeblah I just need to understand the merge-base thingy a bit more.06:54
theoros which is, iirc, A B ^$(git merge-base A B)06:54
saysjonathan left06:54
eventualbuddha left06:54
hyperair left06:54
theoros blahdeblah: i think of it as, merge-base A B is, pick either A or B, start following parents until you find a commit which is an ancestor of B06:55
blahdeblah ok06:55
sitaram chadh: yes you can use \t; that sequence is actually used in several examples in man perlre (on my version anyway)06:55
saysjonathan joined06:55
theoros (or A)06:55
Eaven left06:55
blahdeblah theoros: Just RTFM-ing now06:55
theoros "Specifying revisions" in rev-parse --help will probably be useful06:56
xiangfu left06:56
theoros and/or "specifying ranges", i forget06:56
hyperair joined06:56
eventualbuddha joined06:57
xiong left06:58
Athox joined06:59
blahdeblah left06:59
Anti-X left06:59
saysjonathan left06:59
saysjonathan joined07:00
mention left07:02
everyman_ left07:04
saysjonathan left07:04
saysjonathan joined07:05
albel727 left07:05
spatulasnout left07:05
albel727 joined07:05
SimonP86 left07:05
spatulasnout joined07:06
srcerer_ joined07:06
abetaha left07:07
v left07:07
Utkarsh left07:08
v joined07:08
srcerer left07:08
nchaimov left07:09
MattDiPasquale left07:09
mmoya joined07:09
hyperair left07:09
saysjonathan left07:10
levifig joined07:10
saysjonathan joined07:11
goshawk left07:11
mmoya left07:12
khmarbaise joined07:13
gretch joined07:14
saysjonathan left07:16
saysjonathan joined07:16
mastroDani joined07:17
khmarbaise left07:17
mtkd joined07:17
Adaptee joined07:18
opalka joined07:19
dgtlmoon left07:19
cbreak_work joined07:21
saysjonathan left07:21
theoros left07:21
saysjonathan joined07:21
lightcap left07:22
QinGW joined07:23
p3rg2z joined07:23
saysjonathan left07:26
lucasvo joined07:26
dquestions how do i set my current repo to be the head of the master branch07:26
(there is something wrong with my current master head07:26
saysjonathan joined07:26
dquestions and if i try to merge it messes things up07:26
because the problem is with non source code files07:27
bradleyayers left07:27
guardian joined07:27
amerine left07:28
nchaimov joined07:29
hasrb left07:30
giallu joined07:31
saysjonathan left07:31
saysjonathan joined07:32
MikhX left07:32
mmoya joined07:33
saschpe joined07:34
JasonWoof left07:34
JasonWoof joined07:34
JasonWoof left07:34
JasonWoof joined07:34
saysjonathan left07:36
saysjonathan joined07:37
urkud left07:37
mmoya left07:39
acs` joined07:39
acs` left07:40
acs left07:40
mishok13 joined07:40
ph^ joined07:40
acs joined07:41
saysjonathan left07:41
ponto_ left07:41
mmoya joined07:42
sivy joined07:42
saysjonathan joined07:42
rraasch joined07:43
guardian left07:43
Fullmoon left07:44
digitalfiz when i create a tag does that stay the current tag till i set another one?07:44
Fullmoon joined07:44
Bombe left07:44
Bombe joined07:44
rohanpm digitalfiz: I don't think there is any concept of a "current tag"07:44
Fullmoon left07:45
digitalfiz ok i can just tag the commits after?07:45
phantomcircuit_ left07:45
saysjonathan left07:46
rohanpm I don't get what you mean07:46
you can make a tag pointing to a commit07:46
ss23 left07:46
rohanpm once you've done that, the tag shouldn't change07:46
digitalfiz ok im sorry im just trying to grasp how this all works07:47
saysjonathan joined07:47
digitalfiz i think i understand07:47
hyperair joined07:47
CrypTom left07:48
galderz joined07:48
saysjonathan left07:52
saysjonathan joined07:52
dc5ala joined07:53
jarrod_ left07:54
lightcap_ joined07:56
saysjonathan left07:56
lightcap_ left07:56
saysjonathan joined07:57
Tianon left07:58
joel_falcou_lab left07:59
p3rg2z left07:59
xiangfu joined07:59
mmc left08:00
joel_falcou joined08:01
MikhX joined08:01
napster_123 joined08:02
bentob0x joined08:02
saysjonathan left08:02
joel_falcoujoel_falcou_lab08:02
saysjonathan joined08:02
dgtlmoon joined08:03
ExtraSpice joined08:05
khmarbaise joined08:05
mrtazz joined08:06
saysjonathan left08:07
nevyn^_ joined08:07
saysjonathan joined08:07
shiba_yu36 left08:08
dreiss left08:10
saysjonathan left08:12
saysjonathan joined08:12
fujin left08:14
dquestions left08:16
saysjonathan left08:17
dquestions joined08:17
saysjonathan joined08:17
numbah joined08:18
Mage left08:19
skoop joined08:19
cilly joined08:21
saysjonathan left08:22
saysjonathan joined08:22
lucasvo left08:23
VadtecWork joined08:24
bentob0x left08:24
VadtecWorkGuest6147508:24
pantsman joined08:26
saysjonathan left08:27
jpnurmi joined08:27
hyperair left08:27
saysjonathan joined08:27
ChanServ set mode: +v08:28
dgtlmoon left08:28
ochosi joined08:28
psoo joined08:30
saysjonathan left08:32
saysjonathan joined08:32
divVerent I have a tricky problem...08:32
gretch left08:33
divVerent my project is a fork from onerepo/branch_A08:33
onerepo/trunk is unrelated development line... MOSTLY08:33
but, I want to merge changes from onerepo/trunk that affect directory X08:33
gretch joined08:33
divVerent basically, I want to do merges that are restricted to a subdirectory... how to?08:33
(or actually, to three subdirectories)08:34
dibber joined08:34
tewecske joined08:34
divVerent I suppose it can be somehow done with nasty filter-branch magic... but then git svn cannot fetch updates to it08:34
cbreak_work git can't merge half histories08:34
divVerent sure, but is there a simple way to get what I want?08:34
filter-branching the repo down to the three subdirs, and merges should work fine08:35
cbreak_work create alternate history with filter branch and merge that08:35
khmarbaise left08:35
divVerent but then how can I fetch updates from the upstream repo?08:35
or do I have to run the ages long filter-branch every time?08:35
cbreak_work of course08:35
divVerent there is no way to do that incrementally?08:35
cbreak_work there's nothing to increment uppon08:36
beasty left08:36
beasty joined08:36
cbreak_work you could do some cherry picking08:36
divVerent no, often commits affect lots of places08:36
hm... one idea:08:36
assume I have a branch "master"08:36
can I make a branch "master-strippeddown" that is master stripped down to the three directories?08:36
and incrementally update that?08:36
saysjonathan left08:37
cbreak_work as I said08:37
davep joined08:37
cbreak_work there's nothing to increment uppon08:37
divVerent there is08:37
cbreak_work it's completely independent history08:37
no common commit08:37
divVerent sure08:37
cbreak_work but as I also said08:37
davep im having https issues. can git function without it? it doesnt appear to be trying to use the proxy i set.08:37
divVerent assume I know the commit hash the tip of master-strippeddown is based on08:37
cbreak_work you could cherry pick08:37
divVerent I can track that in an extra file08:37
cbreak_work davep: git doesn't need network connections08:37
saysjonathan joined08:37
dytrivedi joined08:37
divVerent how would cherry pick help me?08:38
davep okay, assume i want to get a local copy of a remote repository over a network :P08:38
divVerent IIRC it cannot be restricted to paths08:38
cbreak_work sure08:38
guardian joined08:38
cbreak_work add -n, just commit the stuff you want08:38
davep: use a different protocol08:38
divVerent problem is, cherry pick will usually fail08:38
as commits will change files I do not want08:38
davep i changed the https in the url to http, but it fails08:38
i try a git pull and it reports a TLS error08:39
cbreak_work just ignore the failures08:39
Keruspe left08:39
davep it ended up with an empty folder08:39
cbreak_work only commit the stuff you want and reset the rest away08:39
divVerent then I commit merge conflict markers :P08:39
davep :(08:39
divVerent hm... possibly doable with a complex ls-files and grep magic08:39
cbreak_work why?08:39
divVerent to reset all other files08:39
cbreak_work just only git add that directory08:39
Keruspe joined08:40
divVerent OH... cherry-pick does not add08:40
good08:40
iravid left08:40
divVerent (when -n)08:40
cbreak_work davep: I meant "use a different protocol that git supports:08:40
like git, ssh, file"08:40
iravid joined08:40
dytrivedi left08:40
cbreak_work divVerent: it puts it to the index, but you can easily reset the index away08:41
and then add the stuff you want again08:41
davep cbreak: git:// seems to have worked. thanks!08:41
divVerent right08:41
acs left08:41
divVerent requires the work tree to be perfectly clean, so I'll have to use a separate local repo for thsi08:41
but yes, that sounds better08:41
cbreak_work why?08:41
are you someone who lives and works in dirt? :D08:42
divVerent sure :P08:42
cbreak_work a clean repo is to be expected...08:42
divVerent .o files for example08:42
saysjonathan left08:42
divVerent most ops work fine in a nonclean repo :P08:42
and if not, they tell me08:42
Kenjin joined08:42
divVerent but, making that separate repo for these merging tasks sounds useful anyway08:42
saysjonathan joined08:42
dc5ala left08:42
divVerent so I can keep state information somewhere08:43
so it knows what is the last "picked" commit08:43
gebi joined08:43
gebi left08:43
gebi joined08:43
acs joined08:43
cbreak_work untracked files are not "dirty"08:43
they are just ... there08:43
and I seriously hope you don't track object files08:44
divVerent no, not tracking them08:44
but I mean08:44
lhunath joined08:44
divVerent git add -A or such stuff may add these08:44
or .swp files from vim :P08:44
lhunath how do I list all files in a directory from another branch?08:44
(without checking that branch out)08:45
ignatp joined08:45
divVerent that's why I would prefer cherry-pick, then reset all in wrong directory"08:45
instead of "cherry-pick, reset all, add these dirs"08:45
hyperair joined08:45
engla joined08:46
engla left08:46
engla joined08:46
dc5ala joined08:46
saysjonathan left08:47
cbreak_work lhunath: git show somebranch:somepath/08:48
saysjonathan joined08:48
lhunath cheers.08:48
Kenjin left08:51
saysjonathan left08:52
yhager left08:52
psankar left08:53
saysjonathan joined08:53
jetienne joined08:56
digitalfiz left08:56
jetienne q. i got a submodule in my repo, and i want to change the version in it. aka set the submobule to a given tag08:56
saysjonathan left08:57
saysjonathan joined08:58
avar cd submodule && git checkout tag08:59
amh345_ joined08:59
digitalfiz joined09:00
spaceonline joined09:00
jetienne avar: thanks09:01
iravid left09:02
saysjonathan left09:02
iravid joined09:02
amh345 left09:03
amh345_amh34509:03
saysjonathan joined09:03
dr_lepper joined09:04
elmob joined09:05
dquestions left09:05
dquestions joined09:06
tchan left09:06
skoop left09:07
tchan joined09:07
saysjonathan left09:08
cordoval_ joined09:08
saysjonathan joined09:09
Bruce_Wayne joined09:09
cordoval_ left09:09
shorg left09:10
bpo joined09:10
lucasvo joined09:11
bpo I'm sure this is a frequent question, but a couple of searches didn't turn up the answer for me. What is the best way to distribute git hook scripts with a repository?09:12
cbreak_work inside a repo with an install script maybe. or separately.09:12
saysjonathan left09:13
jast git doesn't ever do it automatically for security reasons09:13
saysjonathan joined09:14
bpo makes sense. I'll just put a symlink in our makefile. thanks.09:14
_Vi left09:15
sh1mmer left09:16
pantsman left09:16
saysjonathan left09:18
saysjonathan joined09:19
ivank left09:19
sh1mmer joined09:22
dpino joined09:23
saysjonathan left09:23
saysjonathan joined09:24
Tianon joined09:24
Tianon left09:24
Tianon joined09:24
shruggar joined09:26
lhunath left09:26
Schmallon joined09:27
shruggar I accidentally typed "git bisect bad" when I meant "git bisect good". How do I reverse my decision?09:27
mmoya left09:27
hyperair left09:27
saysjonathan left09:28
saysjonathan joined09:29
Schmallon left09:31
thehcdreamer joined09:32
thiago left09:32
engla shruggar: maybe you can just tap in a new desicion if you use the <rev> argument to bisect? I never tried. git bisect good <the revision>09:32
charon shruggar: iirc you have to use log&replay09:33
shruggar tried that, it complains "<yadayada> was both good and bad"09:33
charon (and edit out that bad command of course)09:33
thehcdreamer Hi, I made a couple of commits on a branch. Is it possible to transfer these commits to a new branch? one solution I thought is to checkout on a new branch so that I have the latest commits, then go back to the original branch and do a reset. I wonder if there is another solution?09:33
tildeequals left09:34
saysjonathan left09:34
saysjonathan joined09:34
dels joined09:34
tvw joined09:35
engla thehcdreamer: it's simple to "duplicate" branches. git checkout -b <newname> and you have a new branch. then you can use rebase -i or similar tools to on each/any of them09:35
jast thehcdreamer: can't think of a shorter one09:36
bob2 'git branch xxx HEAD~n ; git rebase master ; git co master ; git rset --hard HEAD~n' or so09:36
tildeequals joined09:36
thehcdreamer engla, jast, thanks09:36
tatsuya joined09:37
koltroll joined09:37
SvenDowideit joined09:38
SvenDowideit_ left09:38
_Vi joined09:38
saysjonathan left09:39
saysjonathan joined09:39
mklappstuhl joined09:41
parasti joined09:41
dels left09:42
Rickardo1 git commit -a --amend <<--- Does this undu the last commit?09:42
jast it changes the last commit09:42
Rickardo1 jast: Define change09:42
jast it uses the current state of files and updates the last commit with it09:42
Rickardo1 jast: ok, ty09:43
BiggFREE left09:43
saysjonathan left09:43
Juri_Agarin It's also a good way to fix a lacking commit message of the most recent commit.. :-)09:44
bob2 or if you forgot to commit a file'09:44
saysjonathan joined09:44
stliu left09:48
OOPMan left09:49
saysjonathan left09:49
saysjonathan joined09:50
xiangfu left09:52
mklappstuhl left09:53
dunpeal hi09:53
What's the recommended way to define shell aliases from the command line?09:54
I tried: git config --global alias.foo !"bar"09:54
and got: bash: !"git: event not found09:54
saysjonathan left09:55
jast dunpeal: escape the '!'09:55
saysjonathan joined09:55
dunpeal jast: that results in "foo = !git bar && git baz"09:56
jast that's what you want, isn't it?09:56
dunpeal jast: I'd kind of like it to be `foo = !"git bar && git baz"`09:57
ramlev joined09:57
dunpeal if at all possible :)09:57
jast why?09:57
anyway, just put escaped quotes in there09:57
dunpeal jast: more redable09:57
*readable09:57
jast git config [...] \!"\"bar \""09:57
lanthan_afh joined09:57
jast or git config [...] '!"bar"'09:57
shruggar left09:58
jast but personally I'd expect the quotes to mess things up09:58
nah, works09:59
dunpeal How do I make jast hm?09:59
err09:59
the first syntax doesn't seem to work?09:59
jast that's not a very detailed error description, you know :)10:00
saysjonathan left10:00
saysjonathan joined10:00
dunpeal jast: $ git config --global alias.foo \!"\"bar \"" #=> foo = !\"bar \"10:00
alnewkirk left10:00
dunpeal I want !"bar"10:01
_sh3 left10:01
jast huh. interesting.10:01
well, try the other one10:01
dunpeal jast: same thing :/10:01
jast exactly the same result?10:01
dunpeal yes10:02
jast hmm10:02
Athox left10:03
jast probably git is doing the escaping10:03
JKL__ left10:03
OOPMan joined10:04
saysjonathan left10:05
dunpeal jast: yeah, don't worry about it10:06
it works, which is what's important.10:06
saysjonathan joined10:06
jspiros left10:07
Anti-X joined10:07
ayanes joined10:07
ayanes left10:07
ayanes joined10:07
little_owl1 joined10:09
dunpeal jast: OK, another question:10:09
saysjonathan left10:10
bauruine left10:10
dunpeal I have a simple single-commit merge scenario with a graph that looks like this: http://dpaste.com/276768/10:10
shruggar joined10:11
curtana joined10:11
dunpeal On 3, what's the name of 2?10:11
saysjonathan joined10:11
jast I have no idea which direction the history goes in that picture :)10:11
dunpeal right10:11
cbreak_work what do you mean?10:12
call it child commit I guess10:12
dunpeal (parent)10:12
(it's RTL10:12
bluenovember joined10:12
dunpeal Basically, I need some symbolic name for all the commits that were merged into master.10:12
QinGW left10:12
jast HEAD^1, HEAD^2 and so on10:12
Murr_ joined10:12
dunpeal jast: HEAD^1 can sometimes be 110:12
I need only the branch commits.10:13
jast I have no idea what you're talking about now :)10:13
hohoho left10:13
dunpeal To generalize (and hopefully finally make myself clear :)10:13
yt_ror joined10:13
chris_n` joined10:13
hohoho joined10:13
dunpeal A branch foo was merged to master. How do I get a list of foo commits that were merged?10:13
iravid left10:14
jast git rev-list $(git merge-base mergepoint^1 mergepoint^2)..mergepoint10:14
if there is a simpler solution, I can't think of it right now10:14
cbreak_work dunpeal: HEAD^2 and it's parents10:15
divVerent jast: I think he wants git rev-list megrepoint^1..mergepoint10:15
OOPMan left10:15
divVerent which would JUST be the commits merged from one of the two sides10:15
jast oh yeah, that's simpler :)10:15
iravid joined10:15
chris_n left10:15
akamike joined10:16
shruggar left10:17
tg left10:17
dgtlmoon joined10:17
saysjonathan left10:17
tg joined10:17
skoop joined10:18
skoop left10:18
_sh3 joined10:18
saysjonathan joined10:18
ToreadorVampire joined10:19
dr_win joined10:19
skoop joined10:20
nchaimov left10:21
airborn joined10:21
saysjonathan left10:22
Kenjin joined10:23
mishok13 left10:23
saysjonathan joined10:24
drizzd joined10:24
Murr_ left10:25
mishok13 joined10:25
nadim joined10:26
Schmallon joined10:27
drizzd_ left10:27
saysjonathan left10:28
saysjonathan joined10:29
shruggar joined10:29
sec^nd left10:30
JonasF joined10:31
galderz left10:33
galderz joined10:33
saysjonathan left10:34
sec^nd joined10:34
saysjonathan joined10:34
elmob left10:36
dunpeal left10:37
tvw left10:37
aep joined10:38
aep hey, can git somehow convert all timestamps to _my_ timezone in git log?10:38
saysjonathan left10:39
thierryp joined10:39
tampakrap joined10:39
mmc joined10:39
Kenjin left10:39
cbreak_work aep: man git-log10:40
jast aep: the 'git-log' manpage can be found at http://git.or.cz/man/git-log [automatic message]10:40
cbreak_work check out --date=local10:40
saysjonathan joined10:40
tvw joined10:41
steph021 left10:42
thehcdreamer left10:42
dquestions left10:43
shruggar left10:45
saysjonathan left10:45
dunpeal joined10:46
saysjonathan joined10:46
sh1mmer left10:46
cilly left10:48
cillybabe joined10:48
skoop left10:48
saysjonathan left10:50
iravid left10:51
saysjonathan joined10:51
ochosi hi, i'm looking for an easy way to put git diffs in a webpage(preferably php), i don't need a real web-frontend or anything. any recommendations for that?10:51
iravid joined10:52
FauxFaux ochosi: gitweb or gerrit or just fork git?10:52
dunpeal left10:53
dunpeal joined10:53
lorenzosu joined10:53
ochosi hm, gitweb seems to be pretty sophisticated, i'll give gerrit a try, thanks FauxFaux10:54
ToreadorVampire Ohai - I have some commits into my repos that were made by a developer who seems they don't know how to use git. Their commits are marked with author "unknown <somesillyusername@.(none)". These commits are published to the git repository and three developers have cloned these commits into their own repos'. Say I wanted to "fix" the author name of those commits - should I bother (this is rewriting history across multiple repositori10:54
es isn't it, thus a headache?) or is there a way I can do it and then propagate those author-name changes in some sane fashion?10:54
lorenzosu Pretty newb question: When using autotools, is it best practice to include all the generated files in a push or not?10:54
jast ToreadorVampire: not without manual intervention by everyone who has the history10:54
ToreadorVampire jast: Yeah, that's what I thought ... I'll just chastise the guy who failed to configure their author details and make sure they do it in the future ...10:55
speakman left10:55
jast lorenzosu: personally I keep automatically generated files out of my repositories, or I put them in a separate branch. I've seen people do it differently, though.10:55
saysjonathan left10:55
khmarbaise joined10:55
ChanServ set mode: +v10:55
nchaimov joined10:55
acs test10:56
I downloaded the sources of emacs, I changed the code, and I want now to revert the sources exactly like in the moment they were when I downloaded. How can I do it ?10:56
ToreadorVampire A test? I never had time to study!10:56
acs i have voice now :)10:56
jast acs: did you commit anything?10:56
curtana acs, all the sources? or a particular file10:56
saysjonathan joined10:56
acs test of voice10:56
a few files10:56
i changed a few files, and did nothing else10:57
ToreadorVampire left10:57
jast git reset --hard destroys all uncommitted changes10:57
lorenzosu jast, I see.. I guess having only the ones required by autoreconf would be enough10:57
acs jast: thanks10:57
steph021 joined10:57
curtana 'git checkout HEAD file1 file2' will just check out those files10:57
shruggar joined10:57
sh1mmer joined10:57
acs curtana: what does checkout do concretely ?10:57
jast lorenzosu: at any rate, including those files in source releases is very helpful for people, hence the idea of keeping the tree *including* auto-generated files in a separate branch10:58
ochosi FauxFaux: even gerrit is really complex and feature-rich, anything more crude?10:58
EdwardIII left10:58
jast ochosi: just viewing diffs should take about a minute to implement in PHP :)10:58
dunpeal left10:58
lorenzosu jast, interesting.. how would I go about setting that up?10:58
curtana acs, several things depending on the arguments. it switches branches, or replaces files in the working tree with their counterparts in the index (by default) or, if you name a commit-ish object, in that commit (e.g., HEAD here)10:58
ochosi jast: true, i just wanted to check whether i could save me those minutes ;)10:58
acs curtana: i see.10:59
jast ochosi: it probably takes less time to write it than to wait for answers ;)10:59
lorenzosu: I don't have a canned solution10:59
lorenzosu jast, ok :)10:59
jetienne left11:00
dunpeal joined11:00
ochosi jast: well, i'm not very good in php and very new to git, so maybe not11:00
jelrikvh joined11:00
gretch left11:00
saysjonathan left11:00
saysjonathan joined11:01
hyperair joined11:01
Tricia joined11:03
dquestions joined11:03
TriciaGuest9129611:03
shiba_yu36 joined11:05
gusnan joined11:05
saysjonathan left11:06
schambers joined11:06
saysjonathan joined11:07
chrischambers joined11:07
jast ochosi: <?php $repo = '/path/to/repo'; if (preg_match('/[0-9a-f]{4,40}/i', $_GET['id'])) { passthru("git --git-dir=$repo show $_GET[id]"); exit; } echo "<html><body><ul>" foreach (`git --git-dir=$repo --rev-list --pretty=oneline HEAD` as $r) { $r = trim($r); list($rev, $title) = explode(' ', $r, 2); echo "<li><a href=\"$_SERVER[PHP_SELF]?id=$rev\">$rev: $title"; } echo "</ul></body></html>";11:07
(untested)11:07
okay, almost. the regexp needs to be anchored: /^[0-9a-f]{4,40}$/11:08
Kenjin joined11:09
ochosi jast: wow, thanks a bunch!11:09
jim stuff like that is why a good templating system is needed11:10
Schmallon left11:10
ochosi jast: ya know, i'm just a poor scientist in the humanities and i'm starting to track my latex-changes via git11:10
jast stuff like this doesn't use templating systems by definition11:10
otherwise it wouldn't be a proper dirty hack11:10
saysjonathan left11:11
shruggar left11:12
saysjonathan joined11:12
davep left11:13
urkud joined11:13
Kenjin left11:13
khmarbaise left11:14
amason left11:16
itamarjp joined11:16
Kenjin joined11:16
saysjonathan left11:17
amason joined11:17
zorzar__away left11:17
saysjonathan joined11:17
d0k joined11:20
jelrikvh left11:21
jspiros joined11:22
alberto56 joined11:22
saysjonathan left11:22
saysjonathan joined11:23
JasonWoof I've got this in my post-update hook: if git diff --quiet origin/master..master11:23
but it doesn't seem to have fired then I pushed _to_ this repo11:24
is "master" updated after post-update?11:24
shruggar joined11:24
JasonWoof how do I detect if I've now got commits that I've not pushed upstream yet?11:24
Kenjin left11:25
goshawk joined11:27
yunosh joined11:27
saysjonathan left11:28
yunosh how do i correctly drop a submodule? removing the submodule's directory, or removing the entry in .gitmodules? or both?11:28
saysjonathan joined11:28
albel727 yunosh: both.11:29
yunosh thx11:29
tizbac joined11:29
raptor360 joined11:29
Schmallon joined11:29
raptor360 Hi all, I'm using git-svn and when doing a git svn rebase I get the following error: Could not unmemoize function `lookup_svn_merge', because it was not memoized to begin with at /usr/lib/git-core/git-svn line 317811:30
zorzar__away joined11:31
saysjonathan left11:32
coldboot left11:33
bauruine joined11:33
shruggar left11:33
coldboot joined11:33
Yuuhi joined11:33
saysjonathan joined11:33
albel727 yunosh: you will also need to remove submodule entries in .git/config, though11:33
yunosh k11:34
yunosh wonders why there is no "git submodule remove" command11:34
albel727 too11:34
hohoho left11:35
albel727 JasonWoof: first off, are you sure you have that "origin/master" in the repo you push to? if it is a bare repo, then I find it highly unlikely. secondly, do you really need git diff? as man githooks can tell you, all modified refs are passed as arguments to the hook. you can just see, if "refs/heads/master" is in there.11:36
jast albel727: the 'githooks' manpage can be found at http://git.or.cz/man/githooks [automatic message]11:36
albel727 wow. jast have set up gitbot =)11:37
cbreak_work albel727: if he does a git push --mirror, origin/master can appear there11:37
jspiros left11:37
saysjonathan left11:37
albel727 cbreak_work: yeah I do realize that. but it's highly unlikely, that he wants difference between master and origin/master in that case.11:38
cbreak_work yeah...11:38
jast the update hook sounds like a better fit11:38
saysjonathan joined11:39
albel727 very probably. ref name + "is/will be" hashes really sound good.11:39
JasonWoof albel727: it is bare, and didn't have an origin/master at first, but I did: git config remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*'11:40
maybe that was not a good idea11:41
albel727 depends on where you did executed that git config, and what did you want to achieve by it.11:42
bauruine left11:42
bauruine joined11:42
albel727 JasonWoof: ^11:43
saysjonathan left11:43
JasonWoof albel727: very cool that updated refs are passed to post-update11:43
saysjonathan joined11:44
raptor360 hi all again, removing the .git/svn/.caches seemd to fix it.11:44
Kenjin joined11:45
albel727 raptor360: Thank you. Now I'll be able to help the next person with the same problem. =)11:45
shruggar joined11:46
JasonWoof albel727: I'm trying to set up a sort of proxy repo. I have about 20 clones of a repo (and regularly make more) and it seems silly keep waiting for gitorious on every clone and pull.11:46
raptor360 albel727: you're welcome.11:46
marcob joined11:46
thiago joined11:47
JasonWoof also, I almost never push to gitorious from any computer besides this one, so I though I'd have one master/proxy clone (bare) that I set everything to push to, and set a hook on it to automatically push from there to gitorious11:47
I thought (guessed) that I should do some kind of check before pushing, so I was trying (as shown above) to check if I actually had anything new before pushing11:48
it works fine without this check11:48
sounds like I should instead check for "master" in the hook args11:48
saysjonathan left11:49
saysjonathan joined11:49
bitkiller joined11:50
masonkramer left11:51
ramlev left11:52
raptor360 left11:52
albel727 JasonWoof: well, as long, as you understand, that everything breaks down the moment you push from any computer besides this one, I see no problem.11:53
saysjonathan left11:54
Arafangion I'm effectively doing something similar - albiet with users who have no idea about git. This "breakdown" can be ignored and assumed never to occur if every person only ever pushes to their own branch.11:54
thiago left11:54
kpreid left11:54
albel727 Arafangion: hmm, yeah, that kind of workflow solves it.11:55
saysjonathan joined11:55
napster_123 left11:55
shruggar left11:55
yotaff joined11:55
schambers left11:56
albel727 (how did you end up with "users who have no idea about git", anyway? =D)11:56
Arafangion albel727: Contractors of contractors.11:56
albel727: Or more simply, contractors.11:56
khmarbaise joined11:57
albel727 grand-contractors, contractors of second order, complex contractors... I can see math ideas realizing in life, now =)11:58
Arafangion albel727: It's the kind of fun that happens when two companies cooperate to write a program... But the actual hiring of the programmers are left to HR guys.11:59
albel727: With no input whatsoever from the programmers.11:59
zombor joined11:59
saysjonathan left11:59
albel727 meh. they didn't even run qualification tests there?11:59
saysjonathan joined12:00
nevyn^__ joined12:00
nevyn^__ left12:00
Kenjin left12:01
Arafangion albel727: Some people satisfy all the tests, regardless.12:01
zombor left12:02
albel727 bad tests, then. =/12:02
boombatower left12:02
albel727 (anyway, tests or not... "no input whatsoever from the programmers"? insane =/)12:03
jim it's interesting that contractors are named for what you do in your body when thinking about hiring them...12:03
Arafangion albel727: I'm annoyed... I am probably overreacting.12:03
jim: What?12:03
nevyn^_ left12:03
jim contract12:03
albel727 Arafangion: I don't think that you are overreacting.12:05
Arafangion jim: Many things contract, mucles being one of them.12:06
saysjona1han joined12:06
Arafangion jim: It's named after the contract - the type that you sign.12:06
saysjonathan left12:06
nevyn^_ joined12:06
nevyn^_ left12:06
cbreak_work people who have no idea about git can get an idea about git12:06
easily12:06
by reading the man pages, and git-for-computer-scientists12:07
Arafangion cbreak_work: He was struggling with subversion.12:07
cbreak_work that's normal.12:07
I do that too...12:07
Arafangion cbreak_work: Did you struggle because it wasn't a lock-edit-commit cycle?12:08
shruggar joined12:08
cbreak_work no, because it doesn't do what it says it would be supposed to do12:08
Arafangion cbreak_work: And the fact that other people might be working on the same code?12:08
hyperair left12:08
Arafangion cbreak_work: He'd have been right at home with VSS.12:08
cbreak_work and because I can't even easily branch off some feature for local development12:08
khmarbaise left12:09
hyperair joined12:09
xiangfu joined12:09
saysjona1han left12:10
khmarbaise joined12:10
shamrock joined12:10
nevyn^_ joined12:11
alberto56 left12:11
saysjonathan joined12:11
Arafangion cbreak_work: Why would you want to branch? </sarcasm>12:12
artefon joined12:12
cbreak_work people always forget the start tags.12:12
albel727 Arafangion: well, yeah, working with underqualified people means that you need to do the parts of work they cannot themselves, but hey... http://ecomodder.com/forum/member-cfg83-albums-shtuff-04-picture2486-you-gotta-do-what-you-gotta-do.jpg12:14
sftp joined12:14
jim start tags? what are those?12:14
saysjonathan left12:16
khmarbaise left12:16
jast it's an SGML/XML thing.12:16
saysjonathan joined12:16
vitor-br joined12:17
albel727 jast: <sarcasm> so you need people to use proper sgml syntax in their speech. ok. </sarcasm> =D12:18
Arafangion albel727: Next cbreak_work is going to complain that you left out the doctype declaration.12:19
albel727 (proper english would be of use, too, but that's too much for me =D)12:19
haha12:19
cbreak_work nah. this is transitional12:19
albel727 lol12:19
nevyn^_ left12:20
jspiros joined12:21
saysjonathan left12:21
Arafangion can't believe that he's winding through custom error handling because he doesn't want to have his stack unwound automatically.12:22
cbreak_work !?!12:22
saysjonathan joined12:22
cbreak_work you working with morrons?12:22
Arafangion Well, in this case, I want to be able to optionally either raise a real error (ie, in my unit tests) - or pop up a warning message and try again later.12:23
shruggar left12:23
albel727 which language?12:24
Arafangion C#12:24
As much as I hate its main platform (Windows), and loathe the lack of proper RAII, it's a nice language.12:25
Ryback_ joined12:25
Ryback_ left12:25
Ryback_ joined12:25
albel727 So, you kinda want sometimes to throw an exception, and sometimes you want to just print a message, and go on?12:26
saysjonathan left12:26
cbreak_work why not just do it? :)12:26
Arafangion Yes. Basically, sometimes I want to acknowledge that there's an error, and see if it fixes up later on. (ie, it's not really an /exceptional/ exception), although sometimes it could well be and I need to alert the user to it.12:27
HG` joined12:27
Arafangion But if I'm unit testing... I'd rather it simply abort, and print a stack trace as early and as noisily as possible.12:27
cbreak_work just catch it? :)12:27
saysjonathan joined12:27
Arafangion _where_?12:27
cbreak_work where ever you want12:27
Arafangion I'm using a ton of databinding and deferred execution (thanks to Linq)12:28
akamike_ joined12:28
Arafangion And I don't want to have the "display the exception to the user" logic scattered throughout the application either.12:28
schambers joined12:28
cbreak_work you could put it into the exception class :D12:28
when it's instanciated, it ... man, that's evil12:29
Arafangion Glad you realise. :) Mind you, I do excactly that when I'm doing logging... But that's completely different.12:29
orafu left12:29
orafu joined12:29
Arafangion This is more for things such as "The http host is down".12:29
khmarbaise joined12:30
albel727 Arafangion: I'd say, that needs just a single helper method/class, which will take a exception object, and either throw it, or output a message, depending on a value of a single static variable...12:30
Arafangion albel727: Exactly what I'm doing. :)12:30
akamike left12:30
cbreak_work you could probably do something with template magic12:30
or macro magic12:30
Arafangion albel727: I have two such classes, actually, sharing a common interface. Unit tests use one, and the main program uses another. :)12:30
cbreak_work: Macro magic is evil, though - templates are much nicer. Alas, this is C#, not C++.12:31
cillybabecilly12:31
albel727 was preparing to be killed for horrible good-coding-style violation, but now, seeing that someone actually uses the same approach... =D12:31
skoop_ joined12:31
Arafangion albel727: Reduce the stench by using pure-DI. :)12:31
saysjonathan left12:32
metasyntactic joined12:32
akamike_ left12:32
saysjonathan joined12:33
Arafangion It's interesting that this ability to either throw an exception, or continue from that point on, is almost what SEH exceptions allow.12:34
/almost/.12:34
Unknown[NF] joined12:34
Arafangion (The way SEH exceptions allowed it was too evil, though)12:34
shruggar joined12:35
kunwon1 left12:35
albel727 never worked with SEH directly =/ how do they allow it?12:36
saysjonathan left12:37
saysjonathan joined12:38
ehabkost joined12:38
akamike joined12:38
chrisred joined12:39
Arafangion albel727: Easily - handle the exception as a first-class exception, with the stack preserved, and then jump back.12:39
albel727: Usually with disasterious results b ecause teh code assumes that never happens. :)12:39
albel727 Arafangion: I see. Well, Lisp "exception" handling allows doing that (stably) and more... why won't you convert to it? =D12:40
kpreid joined12:40
Arafangion albel727: So I've implemented yet another part of lisp, then.12:41
ExtraSpice left12:41
albel727 Arafangion: Yet another? What were the other parts of Lisp, you had to implement, just because of your poor development language choice? =D12:43
saysjonathan left12:43
kanru left12:43
saysjonathan joined12:43
Arafangion albel727: Type conversions. :(12:46
urkud left12:47
ExtraSpice joined12:47
urkud joined12:47
saysjonathan left12:48
shruggar left12:48
saysjonathan joined12:48
tydeas joined12:49
Arafangion albel727: Recently the framework has linq... Which is almost one of the great parts of Haskell.12:49
albel727 Arafangion: yeah, and even more recently it get PLINQ, which is no less useful to me.12:50
tydeas Hello i have made some modifications in some files. Now i want to move this modifications to a branch.12:51
albel727 (not part of Haskell, but still... =D)12:51
(and yes, I like Haskell, too =D)12:51
FauxFaux tydeas: stash, checkout otherbranch, stash pop.12:51
tydeas FauxFaux: thanks12:51
albel727 is ashamed, since someone else actually helps here, while he is blabbing about C# =/12:52
normanrichards left12:52
OOPMan joined12:52
khmarbaise left12:53
cbreak_work modifications are moved to a branch by committing them12:53
tlonim joined12:53
saysjonathan left12:54
Arafangion If you want to write them to a *new* branch, merely 'checkout -b newbranch HEAD' followed by a commit would be sufficient.12:54
saysjonathan joined12:54
chrischambers left12:55
leroux left12:55
iravid left12:55
shiba_yu36 left12:55
bauruine left12:55
_Vi left12:55
iravid joined12:55
gusnan left12:56
devanjan left12:56
chrischambers joined12:56
kpreid left12:56
kpreid joined12:58
galderz left12:58
saysjonathan left12:58
shiba_yu36 joined12:59
saysjonathan joined12:59
kenneth_reitz left13:00
squentin joined13:01
shruggar joined13:01
snearch joined13:01
skoop_skoop13:02
Amorphous left13:03
bauruine joined13:03
saysjonathan left13:04
saysjonathan joined13:05
Chaser joined13:06
rolfb joined13:06
alberto56 joined13:08
saysjonathan left13:09
saysjonathan joined13:10
bauruine left13:10
cirwin joined13:10
bauruine joined13:10
hohoho joined13:12
skoop left13:12
bentob0x joined13:12
zomgbie joined13:13
mabrand joined13:13
lamont left13:13
saysjonathan left13:14
lamont joined13:15
saysjonathan joined13:15
pfrog joined13:16
chris_n` left13:17
pfrog how would I sync up a local and remote branch? git reset ?13:17
zomg pull from the remote to get changes, push to the remote to send changes13:17
q0rban|afk left13:17
zomg reset can be used if you want to discard all changes and just go directly to the state the remote is in13:17
tango_ unless you mean that you pushed to a non-bare remote repo and the workdir on the remote repo was not updated, in which case it IS git reset13:17
(on the remote repo)13:18
pfrog ok maybe what I'm asking instead is how do I get my local branch to track a remote one13:18
benishor joined13:18
Amorphous joined13:18
pfrog but the local one exists already13:18
ChanServ set mode: +v13:19
madsy joined13:19
madsy left13:19
madsy joined13:19
benishor Hello all. Is there a way to make git remember webdav password?13:19
cbreak_work git doesn't care about things like passwords13:19
don't think it can do that13:19
saysjonathan left13:19
benishor I'm using tortoisegit in order to push to a webdav remote repository13:20
it is constantly prompting for password13:20
and it's pretty tiresome13:20
q0rban joined13:20
benishor Is there any way to fix that?13:20
saysjonathan joined13:20
cbreak_work at least with ssh, git delegates things like authentication to the client13:21
benishor I just fixed it. I'm using http://user:pass@server/repo13:22
embeded url authentication13:23
works wonders \o/13:23
ntoll joined13:23
Fullma joined13:24
saysjonathan left13:25
PerlPilot joined13:26
pfrog nm I figured it out13:26
saysjonathan joined13:26
itamarjp1 joined13:26
itamarjp left13:26
jaql joined13:27
foocraft left13:28
PerlJam left13:29
foocraft joined13:29
amh345 left13:29
saysjonathan left13:31
cannonball joined13:31
cannonball left13:31
cannonball joined13:31
saysjonathan joined13:31
bauruine left13:32
IslandUsurper joined13:32
HG` left13:33
napster_123 joined13:34
urkud left13:35
saysjonathan left13:35
saysjonathan joined13:36
ntoll left13:37
warlock_mza joined13:39
masonkramer joined13:40
saysjonathan left13:41
saysjonathan joined13:41
zomgbie left13:44
saysjonathan left13:46
MattDiPasquale joined13:46
saysjonathan joined13:46
richard28530 left13:47
Guest61475 left13:48
Guest61475 joined13:48
Guest61475VadtecWork13:48
elmob joined13:51
saysjonathan left13:51
saysjonathan joined13:52
Bruce_Wayne left13:52
mbroeker joined13:55
saysjonathan left13:56
saysjonathan joined13:57
sonnym left13:59
artefon left14:00
rindolf joined14:01
justin-george left14:01
rindolf Hi all, how do I get a git log -p on the entire repository? All branches.14:01
saysjonathan left14:02
englaengla-on-the-wal14:03
saysjonathan joined14:03
cbreak_work rindolf: by passing --all...14:03
it's in the man page14:03
rindolf cbreak_work: OK, thanks.14:03
nevyn^_ joined14:04
khmarbaise joined14:05
khmarbaise left14:07
saysjonathan left14:07
saysjonathan joined14:08
intripoon joined14:08
engla-on-the-walengla14:09
malfy_ joined14:10
malfy_ left14:10
malfy_ joined14:10
malfy_ left14:10
benishor left14:10
shiba_yu36 left14:10
wuj joined14:11
SjB joined14:11
cilly left14:11
cilly joined14:11
saysjonathan left14:12
epid left14:13
saysjonathan joined14:13
alberto56 left14:14
molokoi hello.14:15
acs left14:17
rchavik left14:17
malfy_ joined14:17
malfy_ left14:17
molokoi I keep track of central repository in origin/master thank to fetch. then, git checkout origin/master14:17
saysjonathan left14:18
molokoi first of all, at git branch i get a *(no branch). Could I have a real branch instead ?14:18
cbreak_work sure14:18
make one14:18
or do a git checkout of one that exists14:18
felipe joined14:19
cbreak_work remote tracking branches do NOT exist locally14:19
you can create one with git checkout -t origin/master14:19
saysjonathan joined14:19
molokoi nice.14:19
then, can I merge only one file from master into origin/master ?14:19
cbreak_work that makes no sense, no14:19
molokoi ok.14:19
cbreak_work git's history is atomic, commit based14:20
a commit can not be split14:20
kpreid left14:20
molokoi I guess I should commit my local configuration into a local branch, then merge with that one ?14:20
Bisaram`office joined14:20
cbreak_work no14:21
configurations should not be part of a repo14:21
molokoi oh ;-)14:21
foocraft left14:21
Bisaram left14:21
molokoi thanks for you answers.14:21
Adaptee left14:22
fr0sty joined14:23
saysjonathan left14:23
TeckniX joined14:24
saysjonathan joined14:24
cbreak_work no problem14:24
lorenzosu left14:25
JKL__ joined14:26
edude03 joined14:26
coderdad joined14:26
roop_ left14:27
iravid left14:29
iravid joined14:29
bnovc msysgit is so buggy :(14:29
rindolf left14:29
Rickardo1 left14:30
kylehayes joined14:30
gemmes joined14:30
bnovc so normally at work we only do one level of branching off of master for features but someone has a rare case and wants a branch off his branch. While that's the right git way to do it, it doesn't really work with our versioning scheme and some tools, so it seems like it would be equally acceptable for him to mimic his branch (create another from the same point and cherry-pick all his changes).... can anyone see a problem w/doing that?14:31
kpreid joined14:32
mxmdrone joined14:32
rolfb left14:33
rolando joined14:33
saysjonathan left14:33
nonno joined14:34
saysjonathan joined14:34
cbreak_work bnovc: if c branches of b14:36
and b branches of a14:36
EricInBNE joined14:36
cbreak_work then b and c share history, before they branched off14:37
it belongs to both14:37
both have branched of a at the same time :)14:37
nothing wrong with just doing the normal thing14:37
bnovc are you saying that c and b both branch from the same commit? c isn't really even a branch of b at that point though14:38
saysjonathan left14:38
bnovc the problem is that we have versioning and tools setup that assume one level off of master14:38
patrikf bnovc: well you said you wanted C to branch off B.14:38
saysjonathan joined14:39
osanaisho joined14:39
sonnym joined14:40
frogonwheels left14:42
cbreak_work bnovc: branching is transitive14:43
if c branches of b, and b branches of a, then c also branches of a. at the same commit b does. and it then has the same commits as b does, for some time.14:43
it's like a tree14:43
you can't say "ZOMG, This leaf is not connected to the stem!"14:43
saysjonathan left14:43
mxmdrone_ joined14:44
bnovc ya, I understand that14:44
metasyntactickunwon114:44
bnovc I was trying to find a free drawing program to show what I meant but oh well14:44
saysjonathan joined14:44
patrikf there's some fancy AJAX stuff out there, but I can't remember it's url14:44
EricInBNE left14:45
SvenDowideit left14:45
ooooPsss joined14:45
bnovc http://dev.bnovc.com/tmp/branches.txt14:45
like that14:45
cbreak_work bnovc: http://www.dabbleboard.com/14:46
ereslibre joined14:46
ereslibre left14:46
ereslibre joined14:46
cbreak_work bnovc: it'd be stupid14:46
patrikf bnovc: cherry-picking X on its parent commit results in X.14:46
cbreak_work why do you not want e and e' to be the same?14:46
patrikf i.e. it's the same commit14:46
mxmdrone left14:47
zombor joined14:47
bnovc patrikf: well I was designating that it is in two places14:47
which I'm pretty sure it would be14:47
mfacenet joined14:47
mfacenet left14:47
mfacenet joined14:47
bnovc I mean this seems hacky but I didn't see what problems it would cause14:48
cbreak_work bnovc: it's pointless14:48
why do you care that e and e' is the same?14:48
bnovc because we version based on your branch position14:48
sec14:48
saysjonathan left14:49
cbreak_work but do you check if that commit is in an other branch?14:49
fr0sty bnovc: what does that even mean?14:49
bnovc http://dev.bnovc.com/tmp/feature_branches.png14:49
fr0sty the name of your branch? e.g. branch = 1.5.4 ?14:49
bnovc like that14:49
(those are tags)14:49
where red is master14:50
saysjonathan joined14:50
fr0sty what is the point of all the tagging?14:50
airborn left14:50
cbreak_work man, that sounds bad...14:50
fr0sty are you tagging each commit?14:50
patrikf bnovc: so what's wrong if right now, the new branch still has "oldbranch" as it's most recent tag, and the next tag is "newbranch"?14:50
bnovc if someone has a release off of a feature branch, we want to know what fixes it included from master easily14:50
fr0sty: no14:50
fr0sty: I just was drawing boxes there are releases14:51
patrikf why would you release off a feature branch?!14:51
madewokherd joined14:51
bnovc they're not releases to customers...they're releases to SQ14:51
to ensure stability before going back into master14:51
cbreak_work ever heard of git merge-base?14:52
bnovc patrikf: I'm not sure what you meant by your previous question14:52
PerlPilot left14:52
patrikf bnovc: and "git describe" is not enough as a version number for qa?14:52
PerlJam joined14:52
bnovc cbreak_work: how does it that affect this?14:53
cbreak_work you don't need to make sure that e and e' are not the same14:54
bnovc I don't mean that they're actually different. I mean that e' is a cherry-pick of e onto the bottom branch14:54
cbreak_work because merge-base will always find the branch point14:54
why?14:54
well, as soon as you rebase one of the two branches, they will get rewritten anyway14:54
but... what's the point wasting time with cherry picking?14:55
just branch off what ever branch you want!14:55
bnovc because in the top situation, the branch that 'h' is on is two levels out, so it doesn't have a good signifier for its version number14:55
saysjonathan left14:55
saysjonathan joined14:55
bnovc patrikf: I didn't know that existed, but that's interesting..... but if I had two levels of branches, it still wouldn't show what features were incorporated in the change that way14:56
cbreak_work bnovc: no14:56
bnovc: branches do not have levels14:56
bnovc patrikf: it would show the last tag on master14:56
alberto56 joined14:56
cbreak_work they are all the same level14:56
there's no difference between master and h14:57
as far as git is concerned, you could just rename them14:57
bnovc there is in process though14:57
master is significant, so its a count off of master14:57
rayners joined14:57
cbreak_work h is branched of master.14:57
and g too14:58
bnovc h is branched off of f14:58
sec let me refresh my diagram14:58
cbreak_work no, g is14:58
fr0sty bnovc: f is the point where h and g diverge14:58
one is not 'branched' off the other.14:58
bnovc: branches don't have 'starting points'14:59
bnovc ok refresh the .txt14:59
fr0sty talking about where a branch was 'created' is non-sensical in git's world.14:59
bnovc my point is that when I tag a release on "branch C", our scheme can't indicate that it has changes from "branch B" also14:59
unless you guys have a better suggestion for versioning which I'm totally open to15:00
fr0sty bnovc: why is that important?15:00
sambarino left15:00
bnovc because SQ wouldn't know that they're testing additional features that were added in B15:00
saysjonathan left15:00
bnovc or supposed to be15:00
saysjonathan joined15:01
fr0sty but why is that important? the features 'from b' (not really from there, but I'll grant it for now) are required for C anyway.15:01
and they will be tested when they test B as well.15:01
I'm still failing to understand what the problem is beyond 'we have an inflexible tagging scheme'15:02
bnovc ya, that is the problem, basically15:02
Vampire0 joined15:02
Vampire0 left15:02
Vampire0 joined15:02
fr0sty btw, still tagging the way you do should work fine.15:02
the fact that branches have common commits should not cause anyone greif.15:02
Ruudjah joined15:03
rolando left15:03
HG` joined15:03
bnovc I think it matters that the tag includes it though. In http://dev.bnovc.com/tmp/feature_branches.png, if I create featurename-1.0.1-1, then SQ knows that it should include all fixes from 1.0.115:03
but in featurename-1.0.0-1, they realize it doesnt15:03
fr0sty bnovc: is SQ incapable of using git log --graph?15:04
freimatz left15:04
fr0sty or gitk15:04
bnovc our SQ has no knowledge of git15:04
they don't have checkouts/etc.15:04
we have a lot of non-technical SQ15:04
(not my decision and not defending that, but its how it is)15:04
fr0sty your branching strategy is the least of your worries it seems...15:05
bnovc well a lot of the tests they perform really don't require technical knowledge15:05
we have some technical SQ too but it needs to be flexible for both15:05
fr0sty still, it would be trivial to write a little wrapper on 'git log --graph --decorate master..tag-to-test' to show them what is in play15:05
tydeas left15:05
saysjonathan left15:05
gusnan joined15:05
Guest60181 left15:06
bnovc I think that would be overwhelming to them to see a lot of things they don't understand15:06
that doesn't correlate to the testing plan15:06
I was considering that before though15:06
fr0sty then just let them test things twice15:06
never hint that branches share history15:06
and get on with your work.15:06
saysjonathan joined15:06
bnovc well, we don't want them reporting issues for every branch they test15:06
thats a lot of duplication15:06
fr0sty if they are neve looking at the history it doesn't matter how it is organized15:06
bnovc and we don't want them not reporting regressions that they think are duplicates15:06
(and I'm really not trying to defend this versioning system but trying to see your thoughts on how to improve it)15:07
it seemed like the issue of redoing the versioning system could be circumvented by just having a 2nd branch with cherry-picks from the other one, leaving it one level away15:07
but I couldn't think of what issues that may cause15:07
cbreak_work just tell them that abc-1 and def-1 are the same.15:07
fr0sty bnovc: if you have a dependent branch don't send it to SQ until the original branch has been tested.15:08
mtkd_ joined15:08
fr0sty or set the branching point of B and C (from your txt) as a testing point and then test B and C after that.15:08
this is where merge-base comes in later.15:08
SvenDowideit joined15:09
Aaaarg left15:09
fr0sty if SQ can test the code up to each fork in the road then testing the branch-heads will not result in duplicate bugs.15:09
bnovc hm...that seems true15:09
fr0sty another alternative would be to merge your feature branches into an SQ branch and tag that for periodic testing.15:09
that way they will test batches of changes and you can figure out the regressions yourself.15:10
boombatower joined15:10
boombatower left15:10
boombatower joined15:10
Razz joined15:11
bnovc ok but just in the case of one branch... if it was from 1.0.0 and they test it, then anther release on that branch without merging up to master, how do they know whether to re-report the bugs thye find15:11
saysjonathan left15:11
saysjonathan joined15:11
zomgbie joined15:12
Razz Does anyone know the current status of a Git library (pref. written in C).15:12
mtkd left15:12
fr0sty bnovc: do you have an issue tracker?15:12
bnovc yes15:12
fr0sty just leave unresolved bugs/tickets 'open'15:12
bluenovember left15:13
mmc left15:13
fr0sty they can skip anything that wasn't marked as 'resolved'15:13
Tianon left15:13
babusri joined15:13
nullvariable joined15:13
[exa] Razz: I'm kindof afraid that there's no such thing coming. Git is too simple to actually have a library, and commandline frontends/porcelains are a little bit hard to simulate in simple C15:13
bnovc fr0sty: but that only works if they're only ever testing feature branch releases that are after the last master they test15:14
mlq left15:14
theflow joined15:14
mlq joined15:14
mlq left15:14
mlq joined15:14
bnovc fr0sty: because if the issue is resolved on master but the feature hasn't pulled it in, it will look like a new bug to them15:14
alin-gym joined15:14
fr0sty Razz: what are you trying to accomplish?15:14
[exa] Razz: people usually take some of git sources and build them into their projects. Nice example of such thing is cgit, imho worthy reading15:14
fr0sty bnovc: then pull master in before testing.15:14
bnovc: how big is your company?15:15
bnovc I'm not sure that thats always a reasonable requirement15:15
fr0sty # of devs # of SQ folk15:15
Razz [exa]: thx, I'll lookinto that.15:15
bnovc fr0sty: I don't know... hundreds of each. My department is (sort of) new...there are maybe 50 devs here and I don't know how many SQ15:15
Razz I'm trying to build a versioning file system (as an assignment)15:15
fr0sty: ^15:16
saysjonathan left15:16
fr0sty Razz: most front ends just wrap the command line using the --porcelain options15:16
bnovc jgit is an API to git15:16
selckin copy-on-write: done?15:16
yairgo joined15:16
Razz fr0sty: I would prefer not using the cmdline but I'll keep it as an option15:17
saysjonathan joined15:17
fr0sty bnovc: unless you want SQ to go insane they should probably have an idea of what issues are supposed to be fixed by each revision they test (and which are still open).15:17
bnovc fr0sty: hence our versioning system! :)15:18
Aaaarg joined15:18
fr0sty Razz: man system you can invoke all the git goodness from C :-)15:18
xiong joined15:19
Razz fr0sty: right, but that's not a very pretty solution ;-)15:19
tstclair_ joined15:19
tstclair left15:19
fr0sty or fork+exec15:19
this is a class project. simple wins over pretty.15:20
and wrapping the command line will be simpler than hooking into the source15:20
napster_123 left15:20
Razz not sure, they want a nice design and some real research done into versioning fs's15:20
unabonger left15:21
Razz also, they require the use of FUSE, but that should (AFAIK) not interfere with still using the cmdline15:21
saysjonathan left15:21
OOPMan left15:22
bnovc fr0sty: so it seems like I'm back to our vesrioning system and one level....and it really doesn't seem like cherry-picking and having duplicate changes on a 2nd branch causes problems except that its ugly to have duplication15:22
saysjonathan joined15:22
mfacenet left15:22
doener Razz: the only lib I know of is libgit2, but I have no idea about its current status -- http://repo.or.cz/w/libgit2.git15:23
osanaisho left15:24
Razz doener: thx15:24
Mpenz left15:25
opalka left15:25
fr0sty doener: that was defunct-ish last I heard.15:26
mr789 joined15:26
Mpenz joined15:26
saysjonathan left15:26
Knirch left15:26
mmc joined15:27
mfacenet joined15:27
saysjonathan joined15:28
snearch left15:28
Bass10 joined15:28
chrislerum joined15:28
Bass2 joined15:29
drl joined15:29
shruggar from the look of things mailing-list side, I'd say that things are (glacially, and far from universally) being written with libization in mind15:29
fowlduck joined15:29
Bass10 left15:30
dquestions left15:30
Bass2 left15:30
Bruce_Wayne joined15:30
j0shua joined15:30
noktoborus_ left15:30
Bass10 joined15:30
dquestions joined15:31
mkramer joined15:31
Bass2 joined15:31
Bass10 left15:31
saysjonathan left15:32
lsls01 joined15:32
napster_123 joined15:32
albel727 left15:32
little_owl1 left15:32
saysjonathan joined15:33
mkramer1 joined15:33
pigdude joined15:34
simosx joined15:34
burhan left15:34
bnovc fr0sty: I would love for you to convince me there's a better method, but I'm not seeing it, given our setup15:34
doener fr0sty: at least it took part in GSoC and had new commits just 2 weeks ago15:35
mkramer left15:35
normanrichards joined15:35
fr0sty bnovc: in both cases you are going to be testing commits twice15:35
which is what you wanted to avoid.15:35
or so I thought.15:36
mkramer1 left15:36
saysjonathan left15:37
bnovc well that part is unavoidable...the thing is that I can still designate where it came off of master easily with this verisoning scheme and 1 level of branching15:37
fr0sty: all of that aside, do you see any problems with doing the cherry-picking?15:37
beside it seeming a bit ugly15:37
noktoborus_ joined15:37
fr0sty it's unnecessary15:37
nevyn^_ left15:38
fr0sty whether the commits are cherry-picked or not, just use the same naming scheme and save yourself the trouble.15:38
OOPMan joined15:38
saysjonathan joined15:38
bnovc hmm15:38
nevyn^_ joined15:38
fr0sty in both cases the two branches will have 'duplicate' commits (from one point of view), but this way the repository only has one copy of the changes15:38
this will also make your merging a little simpler.15:38
doener cherry-picking means duplication and indirection (when looking for the "original" commit)15:39
bnovc I guess that's true that maybe I could just version the same15:39
fr0sty you also lose the ancestry of changes.15:39
t0rc joined15:39
bnovc since applying this system to a second branch still won't represent the duplication15:39
gh34 joined15:40
doener and since you seem to be talking about testing: Testing a cherry-picked commit is not the same as testing the original commit15:40
(unless they happen to be tree-same)15:40
bnovc it is if its cherry-picked to the same parent15:40
ya15:40
_sh3 left15:41
ExtraSpice left15:41
alester joined15:42
kpreid left15:42
albel727 joined15:42
fr0sty__ left15:42
mr789 left15:42
saysjonathan left15:43
fr0sty__ joined15:43
epid joined15:43
saysjonathan joined15:43
napster_123 left15:44
IslandUsurperIslandUsurperAFK15:44
Schmallon left15:45
smuf joined15:46
dc5ala left15:46
warlock_mza left15:47
khmarbaise joined15:47
saysjonathan left15:48
saysjonathan joined15:48
alex__c2022 joined15:48
Schmallon joined15:48
thm joined15:49
nevyn^_ left15:49
Anti-X left15:50
sec^nd left15:50
beatak joined15:51
sec^nd joined15:52
jrmuizel joined15:52
lsls01 left15:52
chrisshattuck joined15:53
Adaptee joined15:53
ExtraSpice joined15:53
saysjonathan left15:53
saysjonathan joined15:53
thierryp left15:54
thiago joined15:54
thiagothiago_home15:54
yt_ror left15:55
Anti-X joined15:56
khmarbaise left15:56
kpreid joined15:57
saysjonathan left15:58
dr_lepper left15:58
eto joined15:58
khmarbaise joined15:58
saysjonathan joined15:59
yt_ror joined15:59
gentooer joined15:59
Bruce_Wayne_ joined15:59
montylounge joined16:00
gemmes left16:00
jmil joined16:00
jmil_ joined16:01
NET||abuse joined16:01
NET||abuse hi there folks. i was talking with a friend who's a web designer, he outsources developer work and project manages. He's a bit untechy so hadn't a clue about svn/bzr/git options.16:01
IslandUsurperAFKIslandUsurper16:01
kukks joined16:02
edude03 left16:02
bnovc is there a follow-up to that16:02
NET||abuse i said i would think about and look into a way to setup a central multiproject server so he can have a hub where he version controls his projects, and allows remote dev's to work on his projects, while maintaining control of the overall system.16:02
yhager joined16:03
tvw left16:03
cbreak_work git + gitolite sounds suitable.16:03
NET||abuse i'm thining of various vcs web ui front ends, and i'm trying to think what he'd be suited to .16:03
gitolite.. hmm16:03
saysjonathan left16:04
imMute NET||abuse: what about github?16:04
icwiener joined16:04
NET||abuse the other question was what to give him, could he handle git.16:04
sraue left16:04
saysjonathan joined16:04
NET||abuse imMute, hmm, there's a paid version isn't there.. how much is it?16:04
jmil left16:04
gentooer left16:05
linusoleander joined16:05
tj joined16:05
NET||abuse is there a windows gui like tortoise for git?16:05
cbreak_work unfortunately16:06
NET||abuse i thought i'd tried tortoisegit and it was buggy as all hell16:06
cbreak_work it's called tortoise16:06
and it's terrible16:06
NET||abuse hmm,16:06
would love to promote adoption of the cli,, but not sure he'd accept and commit to that16:06
jmil_ left16:07
saschpe left16:08
sraue joined16:08
saysjonathan left16:08
saysjonathan joined16:09
flaguy48 left16:11
hobodave_ left16:11
theflow Hi, I'm trying to understand the release management of git.git and if it makes sense to use something like that for a webapp. It seems a bit heavy for that, is there something in between what git.git is doing and everyone pushing directly to master?16:12
imMute TortoiseGIT is buggy as shite, but its still pretty new. TortoiseSVN is quite good, and I've had success teaching it to people enough to use it for VC16:13
thiago_home left16:13
SethRobertson theflow: some people like http://nvie.com/posts/a-successful-git-branching-model It has an associated tool16:13
opalka joined16:13
saysjonathan left16:13
imMute NET||abuse: also, github's "small" plan is 10 private repos, and 5 private collaborators, and thats $12/mo16:13
thiago_home joined16:13
Dave^| joined16:14
saysjonathan joined16:14
SethRobertson theflow: gitflow16:14
NET||abuse imMute, i'm wondering which of git or svn is the best choice for this guy. he's really not the best at grasping more technical stuff..16:15
theflow SethRobertson: yeah, I looked at that, but it requires that you do everything in a topic branch, as far as I understand it16:15
imMute svn is probably going to be easier to grasp, although I say that because I used svn for much longer than git.16:15
NET||abuse imMute, also, with his outsourcing, i'm doubting many of the php dev's in india he deals with would be setup for git use. they're svn as far as I can see.16:15
imMute well then svn is probably the better bet16:15
noktoborus_ left16:15
NET||abuse imMute, i've used svn for 5 years myslef, toyed with git and bzr on and off only last 2 years16:16
SethRobertson You mean if he switches to git, we get to infect the sub-continent with git?16:16
NET||abuse SethRobertson, hehe yeh,16:16
imMute SethRobertson: lets not.16:16
NET||abuse he deals with about 6 projects in a month, :)16:16
so he's likely to impact the working habits of about 8 indian devs16:16
SethRobertson NET||abuse I do have to say that it is far easier to use git vs svn when talking about outsourced development and developers on a different continent16:17
linusoleander left16:17
SethRobertson The central repository starts to break down seriously16:17
NET||abuse SethRobertson, i do feel like there's a lot to argue for git..16:17
xiangfu left16:17
imMute true, git is probably a better choice for dealing with devs across the world, but if they're already using svn and havnt touched git...16:17
NET||abuse but tortoise not being ready, the imcumbent use of svn, kind of are a barrier16:18
amh345 joined16:18
imMute could certainly use some kind of git-svn bridge..16:18
aah left16:18
imMute I dunno if there's anything that would present a git repository as an svn repo though...16:18
NET||abuse yeh, not sure.16:19
psankar joined16:19
psankar left16:19
psankar joined16:19
SethRobertson The git wiki talks about gitsafe as a (non-free) git graphical interface16:19
saysjonathan left16:19
NET||abuse how's trac as a git front end?16:19
pbeckingham joined16:19
saysjonathan joined16:19
Guest52674 joined16:19
cbreak_work left16:20
imMute NET||abuse: AFAIU, trac is more of a thing to combine VC, issue tracking, a wiki, and stuff all under one roof. it's hardly a client side git client16:20
NET||abuse imMute, oh of course, i know.16:20
imMute, part of this would be to have a web ui with the bug tracking, per project tickets and per project wiki, so that he can become more organised in his own project management..16:21
the guys was a mural painter and graphic designer by trade before adopting the web industry :) He's not a trained pm, or particularly together guy, but he's a good sales guy :)16:21
And i just kind of want to help him.16:22
ntoll joined16:22
q0rbanq0rban|lunch16:24
saysjonathan left16:24
saysjonathan joined16:25
Tianon joined16:26
Tianon left16:26
Tianon joined16:26
flaguy48 joined16:26
Dave^| left16:26
kostja_osipov joined16:26
imMute NET||abuse: then trac is probably going to be a good suit16:27
amerine joined16:27
Guest52674 left16:28
q0rban|lunchq0rban16:28
_sh3 joined16:29
saysjonathan left16:29
Dave^| joined16:29
jmil joined16:30
saysjonathan joined16:30
kunwon1 left16:30
Heimidal joined16:31
monokrome left16:31
reuteras joined16:31
ooooPsss_ joined16:32
ntoll left16:32
agile joined16:32
ooooPsss left16:32
ooooPsss_ooooPsss16:32
kunwon1 joined16:33
cylence joined16:34
saysjonathan left16:34
saysjonathan joined16:35
urkud joined16:36
khmarbaise left16:37
SimonP86 joined16:37
saschpe joined16:37
giallu left16:37
chrisshattuck left16:38
ooooPsss left16:38
Adaptee left16:38
zerium1 joined16:38
djh_ joined16:38
djh_ left16:38
kanru joined16:39
zerium1 having some difficulty figuring out how to delete a remote branch, git branch -r shows me a bunch of stuff outside of "origin" how would I go about deleting those?16:39
ie: there is a just a "trunk" (imported from SVN)16:40
jast delete it in the remote repository or delete your 'local remote branch'?16:40
saysjonathan left16:40
zerium1 in the remote16:40
ie git push origin :branchname16:40
works for anything under origin...16:41
saysjonathan joined16:41
zerium1 but how would I do something outside of origin?16:41
ooooPsss joined16:41
tango_ git push otherremote :branchname ?16:41
jast well, 'trunk' doesn't exist in any upstream git repository, does it? :)16:41
zerium1 maybe you are right... however it shows up when i do a "git branch -r"16:41
jast well, you could just remove it from there :)16:42
if you no longer want to work on the SVN trunk, that is :)16:42
zerium1 yeah i don't16:42
so that is only a "git svn" thing?16:42
leftover from the import i suppose?16:42
ereslibre left16:42
jast yep, should be16:42
zerium1 ok16:42
i should have just checked out the repo to a new directory16:43
thierryp joined16:43
zerium1 so do i just "git svn -d branchname" ?16:43
jast no, git svn doesn't really give you any tools for that16:44
if a simple 'git branch -r -d trunk' doesn't work, try 'git update-ref -d refs/remotes/trunk' (not quite sure that's the name used internally, but I think so)16:44
zerium1 yep that worked16:44
koltroll left16:44
jast right :)16:44
kanru left16:45
zerium1 thanks16:45
codeslinger joined16:45
saysjonathan left16:45
punkoff joined16:45
saysjonathan joined16:46
codeslinger I tried to do 'git commit foo.php' but the log message template it asks me to edit sounds like it is going to commit all other files that have changes as well. How do I just commit a few files that I am done with?16:46
punkoff How do I find closest unmergen branch for a given commit-ish?16:46
*unmerged16:46
FauxFaux codeslinger: That sounds right.16:46
Tianon left16:46
offby1 I'd just eyeball "gitk --all"16:46
punkoff e.g. if someone makes commits A,B,C in branch 'feature', it should be 'feature'16:46
and if 'feature' gets merged into master, it becomes master16:47
codeslinger I am a newbee for git, but have used cvs and svn heavily before16:47
jmil left16:47
codeslinger I am now using git 1.5.5.616:47
zerium1 codeslinger: best $12 you'll spend is on the peepcode git tutorial16:47
hobodave joined16:48
offby1 But I can buy two cheesesteaks for $1216:48
jast codeslinger: git commit -o <files>. and update your version of git. that one is practically ancient.16:48
ereslibre joined16:48
djh_ joined16:48
khmarbaise joined16:48
djh_ left16:48
ereslibre left16:48
ereslibre joined16:48
codeslinger jast: interesting. Are there specific arguments besides it being ancient that I could use to convince my admin to upgrade?16:48
zerium1 offby1: your arteries will thank you for not though... ;)16:48
codeslinger And is there a risk to the repo by updating git.16:49
sh1mmer left16:49
ooooPsss left16:49
khmarbaise left16:49
jast codeslinger: perhaps that that old version was substantially harder to use than the current ones. and no, git is pretty good about being backward-compatible.16:49
djh_ joined16:49
zerium1 left16:49
thm there's no way to get a remote log other than fetching stuff to a local repo?16:49
djh_ left16:50
codeslinger if I could qualify those statements I would convince them, i.e. what makes it easier for the newer version16:50
jast thm: that's correct16:50
saysjonathan left16:50
jast codeslinger: there are ~149 KB worth of release notes since then that you're free to work your way through ;)16:51
codeslinger jast: lol16:51
saysjonathan joined16:51
codeslinger thanks16:51
tvw joined16:51
jast truth be told, it's hard for me to recall which things we were missing back then16:51
Vampire0 left16:51
jast I only remember that a fair deal of the "hey, this makes things lots easier" moments were in 1.5.6 or later16:52
but to summarize from the bigger releases...16:52
psoo left16:52
fowlduck left16:54
LiamH joined16:55
Adaptee joined16:55
saysjonathan left16:55
saysjonathan joined16:56
ooooPsss joined16:56
jast git init automatically initializes repositories properly on e.g. windows. you can view history in graph form. several segfaults fixed. better memory usage when decompressing deltas. tons of messages made more understandable. (cont'd)16:56
Vampire0 joined16:56
steph021_mac joined16:57
steph021_mac left16:57
steph021_mac joined16:57
FauxFaux Surely I'm being dumb and there's a short version of $(git rev-parse HEAD).16:58
codeslinger jast: not using windows in 2010 :)16:58
TorstenB joined16:58
codeslinger this is the year of os-x and linux16:58
shiba_yu36 joined16:58
FauxFaux Hahahahha, very funny.16:58
codeslinger or really of iOS and android :)16:59
bnovc FauxFaux: what're you trying to do? you can probably just use HEAD16:59
Yuffster joined16:59
aspotashev joined16:59
DrNick2 joined17:00
FauxFaux bnovc: It's going into grafts (or any other 3rd party system needing the full id).17:00
DrNick left17:00
saysjonathan left17:00
saysjonathan joined17:01
rgr joined17:02
shiba_yu36 left17:02
bnovc ah, well, then how would you get something shorteR?17:02
khmarbaise joined17:02
khmarbaise left17:02
bnovc I mean you could cat .git/refs/heads/<branch> but thats not really 'shorter'17:03
koltroll joined17:03
srcerer_srcerer17:03
abetaha joined17:04
jast diffs and some other things are pagered by default on terminals. more robust packfiles. temporary data for am/rebase can no longer accidentally be added to a repository. per-line staging of changes. better at dealing with corrupt objects. branch --contains/--merged. easy mirroring. stash with index. various rebase -i fixes. (cont'd)17:04
_sh3 left17:05
cilly left17:05
saysjonathan left17:05
mabrand left17:06
alex__c2022 left17:06
saysjonathan joined17:06
eletuchy left17:07
alberto56 left17:09
koltroll left17:09
normanrichards left17:09
saysjonathan left17:11
kipras joined17:11
saysjonathan joined17:11
fr0sty jast: many thanks for your Gitbot homage.17:11
(I would have thanked you earlier but this is the firest I have seen of the non-automated you)17:11
faq non-bare17:12
jast fr0sty: Pushing to non-bare repositories is discouraged: please see https://git.wiki.kernel.org/index.php/GitFaq#non-bare [automatic message]17:12
fr0sty is disproportionately happy about that.17:12
nakkor joined17:13
letas joined17:13
akamike left17:13
Yuffster left17:13
Yuffster joined17:14
alberto56 joined17:14
aah joined17:14
letas hey I was wondering what kind of good stuff you have defined on your gitconfig, like shortcuts or colors17:14
_sh3 joined17:14
punkoff left17:15
saysjonathan left17:16
amh345 left17:16
fr0sty color.ui=auto17:16
Tianon joined17:16
Tianon left17:16
Tianon joined17:16
nakkor letas: I have an alias for log: lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative17:16
schambers left17:17
Bruce_Wayne_ left17:17
letas nakkor nice!17:17
cilly joined17:18
amh345 joined17:18
mastroDani left17:18
ereslibre left17:18
simosx left17:18
sebastorama joined17:20
jast easier syntax for setting up branch tracking. easier syntax for getting stages of files. option to prevent remote people from deleting branches via push. prevent adding submodule contents to supermodule. hard limit of 2 GB objects removed. checks for the common problematic case of pushing to a non-bare repository. automatic threaded packing. password prompts for user@ HTTP URLs. all kinds of performance optimizations. sparse checkout. HTTP digest auth. easier syntax f17:20
chrislerum left17:20
Bruce_Wayne left17:21
jmil joined17:21
nakkor is there a way to check how far ahead/behind a branch is from its remote without doing the full fetch?17:22
simosx joined17:22
jast hmm, the release notes seem to be missing a few things.17:22
cylence left17:22
smuf left17:23
jast nakkor: you can only list the current top commits of all refs of a remote, and that doesn't give you complete ahead/behind information17:23
alberto56 left17:23
jast to fully determine 'aheadness'/'behindness' you have to match both sides' histories against each other, and for that you need the full history of both sides anyway17:23
patrikf nakkor: do you mean "fetch" or do you mean "pull"17:24
sec^nd hi17:24
nakkor patrikf: no because a pull would merge in the remotes changes17:24
sec^nd I have git repos and I'm having a problem pushing to them17:24
patrikf nakkor: there's also "git remote update", which is essentially a fetch for all branches and all remotes17:24
nakkor: so you don't even want fetch? why not?17:24
sec^nd I want to be able to work on one repo (clone) and push changes back and forth between reepos17:25
I have a local and remote computer, but I work on boht17:25
nakkor patrikf: mostly just curious, I would love to be able to see what I am missing on the server before I pull it down17:25
sec^nd *both17:25
nakkor epecially if the remote has a big changeset17:25
lucasvo left17:25
patrikf nakkor: so you're all about traffic concerns17:25
nakkor patrikf: yeah17:25
d2dchat joined17:26
sec^nd I'm getting push errors17:26
jast sec^nd: push is problematic if both sides have an associated working tree. use pull from the other side instead. details at http://git.or.cz/gitwiki/GitFaq#non-bare17:26
lucasvo joined17:26
patrikf nakkor: well, you could do a git log on the remote side17:26
nakkor I was just wondering (and hoping) that there was a utility to see how many changesets are going to be fetched prior to actually transmitting the data17:26
patrikf nakkor: either through ssh, or through e.g. gitweb17:26
kanru joined17:27
patrikf nakkor: apart from that there's not much you can do17:27
urkud left17:27
nakkor patrikf: cool, that is a strait forward answer I can go with :)17:27
sec^nd jast: what is the best way to sync between repos ?17:27
jast sec^nd: didn't I just say that? git pull17:27
or use a bare repository as a go-between if you really want to push17:27
sec^nd jast: I created a repo and git cloned it, and then I tried push17:27
jast: I want to be able to push it17:28
jast: how do I create a bare repo ?17:28
jast what's the big advantage of push over pull?17:28
git init --bare, git clone --bare17:28
patrikf jast: publicizing your own repo, for example.17:28
sec^nd jast: I dont have to log into the other server and enter my pass17:28
patrikf jast: or simple workflows involving 2 to 3 people17:28
fr0sty jast: you can't merge. it's a feature...17:28
jast patrikf: yes, but when you publicize the target is usually bare already17:28
sec^nd patrikf: that is what i'm trying todo17:28
ayanes left17:29
sec^nd I keep having to log in and enter my password on a server I dont completly strust17:29
*trust17:29
patrikf sec^nd: yeah, you should only push to bare repos, and then pull from them.17:29
sec^nd kk17:29
jast sec^nd: well, you said you were working on both, so I assumed you were logged in on both anyway :)17:29
montylounge left17:29
letas wow jast I just read what I think you have in your .gitconfig and I have no clue how to set most of them - Google mode on!17:30
jast letas: uh, what?17:30
nakkor jast: so you are looking at his config huh... kind of private stuff... ;)17:30
lucasvo left17:31
nakkor x that, I mean you letas17:31
jarrod_ joined17:31
psoo joined17:31
brntbeer joined17:31
jast here is my .gitconfig file: http://git.pastebin.com/BFAu9YRi17:32
brosner left17:32
ereslibre joined17:33
jmil left17:33
unabonger joined17:34
DrNick2DrNick17:34
dreiss joined17:35
kostja_osipov hi, i'm trying to add a commit trigger that sends an email when a person commits changes to their local repository.17:35
As far as I can see .git/hooks files are not versioned.17:35
I wanted to add the trigger to the master branch to make sure the trigger is fired in all clones17:36
what's the proper way to accomplish that with git?17:36
where do I put my trigger so that's it's versioned and whoever clones a repo gets it?17:36
theflow left17:36
kostja_osipov if you know that it's documented anywhere, just give me a hint, and i'll google it up.17:37
helo i did a bad cherry-pick that has now left a bunch of untracked files that are preventing me from checking out the branch i was cherry-picking from17:38
is there an easy way to blow those all away?17:38
justin-george joined17:38
jast kostja_osipov: active hooks are never automatically distributed to other repositories for security reasons. you can include a script in your repository that will set up the hooks for people who decide to run it.17:38
fr0sty helo: git reset --hard HEAD17:38
jast fr0sty: for untracked files? :)17:39
mmattice git status -s | grep '^??' | awk '{print $2}' | xargs rm17:39
jast helo: "git clean" removes *all* untracked files17:39
ph^ left17:39
chrisred left17:39
helo hmmm.... i'm not sure that i want to do that17:39
fr0sty jast: good point, but git clean is a dangerous beast...17:39
jast I know :)17:39
sh1mmer joined17:39
kostja_osipov jast: thanks for your answer, but i think this is just nasty. both bk and bzr allow that17:40
helo i think i'll just keep rerunning git checkout <branch> and manually removing the files it complalins about17:40
warbee joined17:40
jast helo: git checkout -f to force overwriting files that are in the way17:40
fr0sty there is always checkout -f17:40
dreiss left17:40
kostja_osipov i think someone is trying to be too smart and make a decision for me.17:40
fr0sty gah, beat me to it. 2nd place is the first loser...17:40
helo yeah, thats the ticket17:40
jast kostja_osipov: you're free to believe that. I personally believe that this design decision is not about you, it's about everyone you work with.17:40
xiong left17:41
bremner kostja_osipov: you might be interested in gitolite, which can support global hooks17:41
kenichi joined17:41
ekontsev1y left17:41
kostja_osipov jast: exactly. i need to make the decision for everyone i work wiht, and i have an authority to make it. but i don't have the tool support.17:41
lame17:41
fr0sty kostja_osipov: and to protect them from feeling like 'someone is trying to be too smart and make a decision for me.'17:41
kostja_osipov fr0sty: have you heard about BZR_NO_TRIGGERS switch?17:41
fr0sty kostja_osipov: yes you do, add it to a hooks directory and tell everyone to link that directory to .git/hooks/17:42
kostja_osipov which anyone can set in their shell to disable these hoosk?17:42
fr0sty if you have authority, use it.17:42
jast if you feel that strongly about it, why not use bk or bzr instead? this is one thing that I'm almost positive will *never* change in git.17:42
kostja_osipov i could just as well request everyone to manually run a diff and send an email before commit17:42
which i have an authority to do17:42
fr0sty and if your coworkers are disinclined to listen to you then you are hosed either way.17:42
kostja_osipov but this is not automation, which i am asking for17:42
flaguy48 left17:43
kostja_osipov jast: right, i am personally strongly considering it. my 3d day with git and looks like someone is trying to be too smart.17:43
fr0sty kostja_osipov: you have been told how to automate this.17:44
it is not hard17:44
kostja_osipov always imposing some workflow on me, not helping me have it the way i want it17:44
fr0sty thanks a bunch17:44
goshawk left17:44
bmalee git imposes a workflow? :/17:44
kostja_osipov thanks for telling me there is no other way, saves time17:44
keith_p joined17:44
fr0sty kostja_osipov: you can use whatever workflow you want17:44
keith_p left17:44
bremner never argue with people who want to go use software you don't have to support17:44
matjas joined17:45
bpo left17:45
fr0sty bremner: good point.17:45
matjas I `git clone`’d a repo on GitHub to which I don’t have write access and made some commits. Later, I forked the repo. How can I tell git to push my commits to MY fork and not to the original origin?17:46
kostja_osipov bremner: the issue is only that there is no perfect revision control system17:46
unfortunately17:46
in 201017:46
fr0sty thinks there needs to be a 'git dealbrakers' webpage somewhere.17:46
jast there is never anything perfect, whether in 2010, 2020 or 569017:46
bremner kostja_osipov: like I said, gitolite adds in that particular feature, but people will always be able to edit their local hooks17:47
yairgo left17:47
jast not least because perfection is inherently subjective17:47
bremner: how does it do that? gitolite has no client-side part17:47
and I don't git letting itself getting swindled into fetching hooks from who knows where17:47
*see17:47
guardian left17:47
bremner jast: hmm. good question. maybe it is default hooks in remote repos created by gitolite17:48
jast much more likely17:48
bremner which also avoids the local editing issue17:49
kostja_osipov jast: btw, if one is so concerned about security with hooks, one could just always fail to automerge them when pulling from upstream17:49
jast uh, what?17:49
kostja_osipov that would force users to look at the hook before letting it work in the local tree17:49
jast so users would be forced to look at the hook during clone?17:49
kostja_osipov yes.17:50
jast I don't see that mamking things more convenient17:50
kostja_osipov wait.17:50
not during clone17:50
during pull17:50
[exa] :]17:50
jast well, so during clone we should allow repositories to run arbitrary commands on people's machines?17:50
such as rm -rf ~17:50
petran left17:50
bremner finally, a clean homedir17:50
chrischambers left17:50
jast well, I guess it's up to personal preference :)17:50
I like my homedir messy17:51
kanru left17:51
matjas I `git clone`’d a repo on GitHub to which I don’t have write access and made some commits. Later, I forked the repo. How can I tell git to push my commits to MY fork and not to the original origin?17:51
[exa] matjas: you need to mofify origin remote information. see git remote manpage17:51
like git-remote17:51
sitaram bremner: kostja_osipov wants client side hooks. Gitolite does nothing to the client and cannot. Which is good :) regardless of what kostja_osipov thinks17:52
matjas [exa] git remote, thanks17:52
kostja_osipov jast: ok. one other option would be to write a git plugin and ask all who wants these hooks to be run to install it.17:52
[exa] not sure how github handles forks, but setting 'origin' to your new push url should just work17:53
kostja_osipov that would be safe from security pov, don't y017:53
ou think?17:53
jast hmm, I find no source that tells me how to get bzr to copy hooks from the server17:53
sitaram kostja_osipov: the correct place for hooks is on the receive side of a push. The local repo on the developers own machine is just that -- a local repo. He can do what he wants, but when he touches the central server, you "hook" him17:53
nevyn^_ joined17:53
kostja_osipov jast: you can use plugins in bzr17:53
jast yes, but you have to install the plugins yourself, don't you?17:53
goshawk joined17:53
kostja_osipov jast: right17:53
saysjonathan joined17:53
kostja_osipov can i do the same with git?17:53
Chillance joined17:54
jast it's not too difficult to install a git script that wraps around the real git binary and adds other operations on top17:54
I do that myself for a bunch of things17:54
kostja_osipov jast: see mysql_plugins project for a bzr plugin that runs local hooks17:54
koltroll joined17:54
SethRobertson So do I, and it even automatically installs git hooks for me!17:54
kostja_osipov ok, i see. messy though17:54
thanks!17:54
chrisshattuck joined17:54
petercoulton joined17:55
yairgo joined17:55
jast there were some efforts for adding global hooks quite a while ago, but they never really made it into anything17:55
bremner kostja_osipov: note that people could still call "the real git" to circumvent your script/plugin17:55
kostja_osipov bremner:17:56
that would be fine17:56
sh1mmer left17:56
kostja_osipov i'm looking for automation, so that users of the project don't have to run a bunch of messy commands to participate17:56
[exa] kostja_osipov: I still wonder what practical purpose would that have, can you point me to some?17:56
kostja_osipov and the project workflow is around commits.17:56
nonno left17:56
kostja_osipov one does a commit, a mail is sent to the list, this mail can be used for code review17:57
jast [exa]: well, in some teams developers are not supposed to be able to do experimental work without everyone seeing it ;o)17:57
dpino left17:57
[exa] jast: oh I'm starting to see.17:57
kostja_osipov jast: you can disable the hook if you're shy and don't want others to see it.17:58
jast so instead of using something like gerrit and keeping local commits local, people will tend to stop committing experimental stuff, just like in subversion17:58
kostja_osipov but the deefault is that everyone sees what everyone else does17:58
jast yes, technically you can17:58
elmob left17:58
jast but that means you're making it harder for people with good workflow to do the right thing... I do see what you're after, though.17:58
kostja_osipov jast: i can change the worflow so that a mail is sent only when htere is a push to a branch17:58
[exa] kostja_osipov: there's a way better way to do that, just make a script that keeps an eye on your HEAD and notifies everyone on changes. Anything else is absolutely ineffective17:58
kostja_osipov but every new branch we create will require manual setup anyway17:59
jast kostja_osipov: well, you can process pushes centrally on the server :)17:59
epid left17:59
kostja_osipov exa: we have dozens of branches, and they are created and dropped easily.17:59
it's not about the head17:59
tlonim left17:59
adamm joined17:59
jast [exa]: so people will get mails for amends, rebases, resets, switched branches, etc., too? ;)17:59
kostja_osipov yep17:59
not bad in a midsize project17:59
bremner that should be fun17:59
kostja_osipov you can filter all this18:00
[exa] that forces people to create a mail folder that they totally ignore18:00
madewokherd left18:00
fr0sty bremner: just wait until the rebasing starts...18:00
kostja_osipov exa: if done wrong, yes18:00
[exa] kostja_osipov: much better way is to ask (or order, if you can) people to push all of their stuff often, and make a nice visualisation18:01
jast well, I have mentioned my thoughts about this. ultimately it's not our decision how kostja_osipov sets up his team workflows, and we don't really know whether it's not going to work wonderfully. I consider my work here done. :}18:01
[exa] eye candy makes wonders18:01
bremner kostja_osipov: I think working with pushes rather than commits is a better plan.18:01
jast kostja_osipov: anyway, for reviews, you might want to look at gerrit. it's a git review tool.18:01
sh1mmer joined18:01
kostja_osipov exa: for an example of this kind of workflow, please take a look at postgres project18:02
they do send a mail on every commit18:02
albel727 left18:02
_Vi joined18:03
albel727 joined18:04
fr0sty "The project has decided, more-or-less, to use Git like it was CVS"18:04
from the postgres git-migration page ^18:04
helo better than using CVS like it was git18:04
jast postgresql is a really special project as far as workflows go18:04
psoo left18:04
fr0sty and that is one email per mainline, authoritative, central repository commit.18:05
[exa] :D18:05
fr0sty not one email for every checkpoint, amend and rebase step.18:05
joel_falcou joined18:05
fr0sty just finished products.18:05
rgr left18:05
bpo joined18:06
helo tries to imagine a world where git is taught in first- or second-year CS programs18:06
cylence joined18:07
rgr joined18:07
nevyn^_ left18:07
tlonim joined18:07
goldbergus joined18:09
bremner helo: I planned to, but ran out of time.18:10
bpo left18:10
bpo joined18:11
bremner so I think that world is not as far away as you think18:11
p3rg2z joined18:11
NET||abuse left18:12
Schmallon left18:12
mmc left18:13
helo seems like it would reinforce a lot of good development considerations18:13
albel727 left18:14
itamarjp1 left18:16
chrisshattuck left18:16
tizbac left18:16
tizbac_ joined18:16
itamarjp joined18:16
codeslinger left18:16
letas left18:19
chrisshattuck joined18:19
itamarjp left18:21
dreiss joined18:21
sgronblo fr0sty: but wasn't that just to get CVS-devs slowly used to git?18:23
tatsuya left18:23
sitaram bremner: you and Mpenz should get together; he's also a prof :)18:23
shake the world of CS with git!18:24
fr0sty sgronblo: exactly. it is nowhere close to a 'best practice' approach.18:24
__name__ joined18:24
__name__ left18:24
__name__ joined18:24
sgronblo fr0sty: yeah but after a while when all the oldies get used to it, don't you think they'll change that?18:25
fr0sty without a doublt.18:25
doubt, even.18:25
from the article: "It's possible, even likely, that eventually the PostgreSQL project will move towards the "normal Git workflow" where branches and merges would be used for feature work. But it definitely won't happen this year. "18:26
brosner joined18:26
sgronblo I was using git like a dummy for at least a year too before really starting to learn how you can use it18:27
albel727 joined18:27
kostja_osipov fr0sty, jast: i'm reading up more. It seems what I am really trying to achieve, which is better peer collaboration with code reviews, is done in git using Signed-off mechanism.18:27
jast signoffs don't really have any fixed meaning18:27
tizbac_ left18:28
troyt joined18:28
jast in git they are used by contributors to certify that the code is legally clean18:28
kostja_osipov jast: basically I am looking for a controlled way to push into the master branch.18:28
ttelford joined18:28
theoros joined18:28
theoros left18:28
theoros joined18:28
kostja_osipov total publicity of commits is one way to do it.18:28
sgronblo kostja_osipov: gitolite with branch level permissions?18:28
NotreDev left18:28
jast kostja_osipov: that sounds like a job for an update or pre-receive hook on the server18:28
yotaff left18:28
tizbac_ joined18:28
p3rg2z left18:28
kostja_osipov jast: it's a hell to maintain.18:29
jast hence my suggestion of gerrit18:29
goldbergus left18:29
kostja_osipov i want a flexible configuration when a team or group or any assignee can be responsible for a given patch18:29
git is too centralized.18:29
sgronblo lol?18:29
jast http://code.google.com/p/gerrit/wiki/Background18:29
Elfe joined18:29
koltroll left18:29
sgronblo git is a dvcs = DISTRIBUTED version control system18:30
kostja_osipov Google developed Mondrian, a Perforce based code review tool to facilitate peer-review of changes prior to submission to the central code repository18:30
sgronblo: you can read the above18:30
central code repository18:30
in git there is also central code repository.18:30
jast not necessarily18:30
zombor no there isn't18:30
sgronblo nope18:30
kostja_osipov not necessarily, but in any real life project there is.18:30
zombor only by assignment, not by definition18:30
sgronblo by convention there usually is18:30
jast you can have several repositories, each of which is deemed authoritative for a different part of the project, for example18:30
zombor kostja_osipov: there doesn't ahve to be18:31
linux doesn't use any central repository18:31
kostja_osipov I bloody know i can have many repository18:31
ies18:31
zombor the "central repsository" is Linus's repo18:31
Elfe_ left18:31
kostja_osipov zombor: exactly18:31
goshawk left18:31
acs joined18:31
kostja_osipov most projects have the mainline18:31
zombor but it's not a central repository18:31
by definition18:31
it's *his* repo18:31
kostja_osipov and git seems to have been built around a single person controlling the mainline18:31
zombor not at all18:31
matjas left18:31
sgronblo yeah thats not how i see it18:32
PerlJam kostja_osipov: I don't see how you can come to that conclusion18:32
zombor at our company , many employees control the mainline18:32
jast me neither18:32
sgronblo its just one possible workflow18:32
ChanServ set mode: +v18:32
zombor we all have push access to the "central repository"18:32
acs test18:32
PerlJam kostja_osipov: or perhaps you mean "multiple single people, each controlling their own mainline"18:32
sitaram kostja_osipov: it's an *administrative* decision in git, ont a *technical* one18:32
PerlJam ?18:32
sitaram not*18:32
sgronblo anyway, if git is centralized by your definition, I don't think you'll find any "de-centralized" VCS anywhere18:32
zombor heh18:33
hyperair left18:33
goldbergus joined18:33
mtkd_ left18:33
kostja_osipov sgronblo: it's not centralized, just read the exact link I got: http://code.google.com/p/gerrit/wiki/Background it's saying the same i am trying to say18:34
zombor i wouldt even know what "de-centraled" would mean :)18:34
fr0sty kostja_osipov: if you want people to review each other's code it is a simple as 'git fetch <url> <refspec>; pand then eek at FETCH_HEAD'18:34
sgronblo kostja_osipov: that's a link to gerrit, not git18:34
zombor kostja_osipov: it says "assumed"18:34
fr0sty *and then peek at18:34
zombor thats a workflow decision, not a technical one18:34
jast gerrit enhances one particular workflow you can use with git18:35
phantomcircuit joined18:35
jast in any case, I'd say that with more than, say, three contributors, it gets combinatorially infeasible to not have a single mainline18:36
git allows you not to have one, but I'm not sure you'll still be sane a few months down the road18:37
kostja_osipov hm... damn, if I use stuff like gerrit there is no post-moderation18:37
jast post-moderation?18:37
kostja_osipov and in most cases a post-push OK is just as fine..18:37
jast: some patches do need to be formally approved before a push to the mainline18:37
zombor doesnt see the problem18:37
kostja_osipov others just can be pushed without an approval, but an email needs to go out to the engineer so that he can see what was pushed.18:37
phantomcircuit left18:38
jast as far as I know, gerrit allows you to have things pushed to a side branch and have them merged to mainline when they get approved18:38
but I haven't used it myself18:38
flupke_ left18:38
sitaram jast: that is how it works; the "side" is spelled "for/" or something that's all18:40
like "commits-for/master"18:40
abetaha left18:40
alvaro_o joined18:40
sgronblo so it's like branch-level permissions with an e-mail notification system?18:41
mxmdrone_ left18:42
shruggar left18:42
jast no. it's a review system.18:42
see it in action here: https://review.source.android.com//#q,status:open,n,z18:42
MikhX left18:43
sgronblo ok so it also has a web app for reviewing, accepting and commenting on patches?18:43
jds left18:43
sitaram yes18:44
abetaha joined18:44
sitaram the whole workflow is web based, if I understand right18:44
alvaro_o left18:45
alvaro_o joined18:45
werdan7 left18:46
mmc joined18:48
wuj left18:50
t0rc left18:52
jrmuizel left18:53
jrmuizel joined18:53
MikhX joined18:53
aspotashev left18:53
davidfetter_vmw joined18:53
lhz joined18:54
pantsman joined18:55
yt_ror left18:55
nullvariable left18:58
goldbergus left19:01
bronson joined19:01
bitkiller left19:02
nakkor left19:02
bitkiller joined19:03
curtana left19:04
goldbergus joined19:06
burhan joined19:06
mxmdrone joined19:06
alberto56 joined19:08
mxmdrone left19:08
matjas joined19:09
ph^ joined19:09
ereslibre left19:16
doener left19:16
flaguy48 joined19:18
rgr left19:20
psankar left19:21
nakkor joined19:21
sako joined19:22
sako how do i compare the HEAD version of a file to an older commit?19:23
im trying git diff HEAD commitSHA file/name19:23
IslandUsurper git dif <commit>..HEAD -- file/name19:23
sako thanks19:24
IslandUsurper though...I guess I'm surprised your version didn't work19:24
xtagon joined19:24
sako i tried that and its comparing to /dev/null19:25
---- or ++++ are giving me /dev/null?/?19:25
something is not right :/19:25
nakkor left19:25
thiago_home did the file exist in both commits?19:25
sako yea19:26
i found it via gitk19:26
IslandUsurper named the same in both?19:26
sako ya, hasnt changed hmm19:26
ok nvm19:27
it was named different19:27
sorry im helping another developer... just double checked19:27
how would i handle the name change?19:27
normanrichards joined19:27
albel727 sako: not sure, but try "git diff HEAD:<filename1> <commitSHA>:<filename2>"19:27
sako file/name1..file/name2?19:27
oh i see19:27
scompt joined19:28
hobodave_ joined19:28
IslandUsurper if that doesn't work, try -M19:29
fedesilva joined19:29
albel727 sako: or rather, the other way round =) i.e <commitSHA>:.. first, HEAD:... - second.19:29
foocraft joined19:30
sako that worked :)19:30
thanks alot19:30
hobodave left19:30
albel727 sako: yw =)19:31
scompt how do I create a copy of repository B inside of repository A?19:31
psoo joined19:31
albel727 scompt: man git-submodule19:31
jast scompt: the 'git-submodule' manpage can be found at http://git.or.cz/man/git-submodule [automatic message]19:31
scompt I don't want to use clone because then the remote is still repo B19:31
I don't want to use submodules because then the remote is still repo B, right?19:31
repo B is a 'skeleton' of a project that I want to make a part of repo A19:32
fedesilva_ joined19:32
scompt something 'svn export repoB' and then adding all of the exported files to repo A19:32
hobodave_ left19:33
hobodave joined19:33
albel727 uhm, either I don't get your "remote is still repo B" line, or I don't see, what can be your problem with that. if you want just a copy, then make a copy.19:33
shennyg joined19:34
scompt albel727: I think I just want to make a copy, is there a way to do that with git? or should I clone it and then delete the .git?19:34
ricky left19:35
fedesilva left19:35
fedesilva_fedesilva19:35
albel727 scompt: well, git doesn't have a very convenient export unfortunately. you can either make a shallow clone (git clone --depth=1 <url>), or use "git archive --remote=<url> master", to get a tar file, which you'll then need to untar (there's an option for zip, iirc).19:36
scompt albel727: k, thanks, I'll give that a shot19:37
albel727 scompt: "git archive --remote=<url> --output=<dest.tar> master", to be precise. "git archive --format=zip --remote=<url> --output=<dest.zip> master", for zip format.19:38
Rickardo1 joined19:38
albel727 you're welcome.19:38
napster_123 joined19:38
letas joined19:38
napster_123 left19:38
scompt left19:39
nullvariable joined19:40
tlonim left19:42
psoo left19:44
EvanR-work joined19:45
EvanR-work is there a way to delete commits from the history of your branch?19:46
andyburke joined19:46
marcob left19:46
albel727 EvanR-work: you mean, besides git rebase?19:46
EvanR-work how would you use rebase to accomplish this?19:46
AAA_awright left19:46
ph^ left19:47
albel727 EvanR-work: to delete a commit from branch: "git rebase --onto <commit>~1 <commit> <branch>"19:47
ph^ joined19:47
EvanR-work so far only came up with branch at the delete point and cherry pick the rest one by one19:47
ok, checking that comman19:48
albel727 EvanR-work: you need that on a big scale? why not git rebase --interactive, then?19:48
EvanR-work interactive lets you squash19:48
but also delete?19:48
albel727 EvanR-work: ...and delete altogether19:48
yep19:48
EvanR-work ah19:48
albel727 just remove a line with commit19:48
EvanR-work great19:49
albel727 EvanR-work: but remember, that rebasing this way is dangerous. you not only remove a commit, you remove whatever changes it did introduce.19:49
raynersrayners_afk19:49
albel727 EvanR-work: if you want to remove a commit, but retain the changes it introduces, squash is the way. filter-branch is the another way.19:50
Mannequin1 joined19:50
gshank joined19:50
EvanR-work what exactly would be the command?19:50
albel727 EvanR-work: for?19:50
EvanR-work interactive19:50
im not rebasing onto anything19:51
Mannequin left19:51
albel727 EvanR-work: basically, just "gir rebase --interactive <oldest commit you want to delete>~1". and then remove the lines for commits you want to delete.19:51
EvanR-work: that works for current branch, ofc19:52
EvanR-work ok19:52
whats ~1 ?19:52
albel727 s/gir/git/19:52
EvanR-work: one commit back in history.19:52
SethRobertson EvanR-work: man git-parse19:52
EvanR-work thats not ^1 ?19:52
SethRobertson jast-bot?19:53
EvanR-work man git-rev-parse19:53
jast EvanR-work: the 'git-rev-parse' manpage can be found at http://git.or.cz/man/git-rev-parse [automatic message]19:53
SethRobertson Ah yes, thanks19:53
parasti commit^n syntax specifies parents, commit~n syntax specifies ancestors19:53
albel727 EvanR-work: well, in this case it coincides with ~1, but generally - no. for instance, ^2 is not the same as ~2. ^2 - is the second parent. ~2 is the second older commit. the man says the rest.19:54
EvanR-work oh so its time based rather than parent based?19:54
albel727 EvanR-work: yeah19:54
EvanR-work that sounds bad19:54
parasti no19:54
albel727 ?19:54
EvanR-work well ill tell him this command and then19:55
understand it19:55
albel727 EvanR-work: ah. no, not in the sense you imagine.19:55
EvanR-work: what I meant to say, is that ~2 is the first parent of the first parent.19:55
ph^ left19:55
jast whoops, small bug in the script. fixed.19:55
albel727 EvanR-work: no time involved whatsoever.19:55
ph^ joined19:55
EvanR-work oh ok19:56
spaceonline left19:56
EvanR-work ^ lets you specify which parent19:56
if theres more than one19:56
albel727 EvanR-work: yeah.19:56
SethRobertson True only for merges, and your intuition on which parent is which may be wrong in the case of fast-forwarding19:56
albel727 since when we have several parents after fast-forwarding? =)19:58
carutsu joined19:58
albel727 a single parent doesn't require much intuition, does it? =)19:58
EvanR-work its possible to fast forward and have multiparents19:58
since the latest commit could be a merge19:58
albel727 haha. you got me.19:59
petercoulton left19:59
SethRobertson Due to fast-forward merges you can have situations where you have multiple branches (A and B, eg) and while you "know" that you branched B from A and later merged it back in, git believes that the both branches A&B were on the human-knowledge-A branch of development, or vis-versa, both A&B were on the human-knowledge-B branch of development. It is very annoying20:00
petercoulton joined20:00
SethRobertson I have a recipe which will recreate this annoying situation. If you disable ff-merges it will never happen.20:01
saschpe left20:01
SethRobertson I wish I could disable fast-forward manually initiated merges (e.g. always have -no-ff on the `git merge` command). Obviously I could create an alias, but...20:02
pedrobelo joined20:03
albel727 SethRobertson: hmm, there might be a config key for that... let me look.20:03
SethRobertson I'd be happy to learn that. I've looked (well, searched for "fast")20:03
ph^ left20:04
nullvariable left20:05
fedesilva left20:05
_Vi left20:05
ph^ joined20:05
_Vi joined20:06
nullvariable joined20:06
albel727 SethRobertson: well, at least there is "branch.<name>.mergeoptions" which allows to specify default options for merges into specified branch. let me look some more, to see if there is a global setting...20:07
mnemoc hi, I have 4 repositories imported from CVS making A A/B A/C A/D which I turned into a single repository using git-filter-branch and then pulling. how can I now reorder this super repository by date?20:08
bhowmisu joined20:09
babusri left20:09
SethRobertson `gitk --date-order`?20:09
mnemoc SethRobertson: in the history20:09
Evious joined20:10
SethRobertson That shows you your history in date order20:10
d2dchat left20:10
SethRobertson Perhaps I am missing something20:10
mnemoc yes, but i don't want to be shown in order, i want it to _be_ in order :)20:10
i don't see something like --date-order in git-filter-branch help20:11
darkredandyellow joined20:12
albel727 mnemoc: first I want you to confirm, that gitk --date-order, indeed shows commits in the desired order.20:12
bhowmisu left20:12
jelmer joined20:12
mnemoc ow... i got the merge as single commit :'(20:13
albel727 SethRobertson: I'm afraid, that there are no global settings for git pull/merge. sorry =/20:13
jelmerGuest6763320:13
SethRobertson albel727: Thanks for looking20:13
WebDragon joined20:13
ph^ left20:14
detrate` joined20:15
detrate` can I undo a merge?20:15
ph^ joined20:15
SethRobertson detrate`: have you pushed?20:15
brntbeer left20:15
Eaven joined20:15
detrate` no20:15
brosner left20:16
nakkor joined20:16
ph^ left20:16
SethRobertson detrate`: Then yes. Step one, take a backup of your repo (e.g. git clone or whatever). Step two: `git reset ORIG_HEAD`. See `man git-reflog` if you have done merges since then20:16
jast detrate`: the 'git-reflog' manpage can be found at http://git.or.cz/man/git-reflog [automatic message]20:16
albel727 mnemoc: huh? sorry I don't get your last remark about single commit. what's the problem with having a merge as a single commit? (and how do you imagine a merge consisting from several commits?)20:17
ph^ joined20:17
cirwin SethRobertson: why do you advise taking a backup at that point? (just curious)20:17
albel727 s/consisting from/consisting of/20:17
bentob0x left20:17
mnemoc albel727: there is zero conflict, I need it as I would cherry-pick every commit from the other respositories20:17
detrate` okey thank you SethRobertson and jast20:18
mnemoc albel727: instead of a "merge"20:18
SethRobertson cirwin: I always recommend newbees to take backups when running `git reset`20:18
schambers joined20:18
cirwin fair enough20:18
SethRobertson and filter-branch20:19
albel727 mnemoc: hmm, that was my another guess. let me think...20:19
SethRobertson isn't that a job for rebase?20:20
MattDiPasquale left20:20
SethRobertson Unless you need the donor branch to be unmolested20:20
mnemoc SethRobertson: to me?20:20
SethRobertson and/or albel72720:21
albel727 SethRobertson: hmm, that is actually a good idea! if rebase understands inserting commit lines, that is.20:22
mnemoc the original repository was made of 4 "virtual modules" ... I want the resulting git to reflect the work that was done at the same time in the different modules20:22
the interim git repositories are irrelevant, all with get trashed20:22
albel727 ok, I'm testing the git rebase approach. give me some time....20:23
SethRobertson I wonder if sending it through `git-fast-export` and `git-fast-import` would do something useful20:23
Perhaps with a sort in the pipe20:24
khmarbaise joined20:24
TorstenB left20:24
mnemoc SethRobertson: that was my initial plan... but failed to get them working20:25
albel727 SethRobertson: I don't think so. unless you know an easy way to take 4 fast-streams and reorder commits in them according to date order.20:25
mnemoc it can be done in two steps20:25
first taking all commit from the other repositories, and later reorder the world by commit date20:25
SethRobertson He already has a unified repo, no? He just needs to `git fast-export` and then break it up into commit objects, sort, and then reassemble.20:25
andyburke left20:26
mnemoc no, I de-unified it20:26
because I got "merges"20:26
hobodave left20:26
MattDiPasquale joined20:26
ceez joined20:26
SethRobertson Personally I just left my CVS repos as separate git repos and have a meta-repo-manager script, but it does seem like this would be a useful feature.20:27
hobodave joined20:27
albel727 mnemoc: ok, a question. is what you have now a single merge (or maybe 3 of them) on top of your history, that unifies 4 development lines?20:28
mnemoc had that until git reset HEAD^3; git reset --hard20:28
albel727 I see.20:29
mmc left20:29
andyburke joined20:29
mnemoc so I have 4 repositories, and the content of the 3 sub repositories moved into a subdirectory20:29
khmarbaise left20:29
mnemoc A/B/.git -> A/B/{.git,B/}20:29
johnw joined20:29
johnw left20:30
rryouumaa joined20:30
albel727 mnemoc: do files in those subrepos, reside in respective subfolders (e.g A/B/readme.txt)?20:30
Torsten joined20:30
mnemoc SethRobertson: tried keeping submodules, but the very first time a coworker used it got a file from A/B commited into A messing up the world20:30
ereslibre joined20:31
mnemoc albel727: yes, they are ready to "collapse" into a single repo20:31
albel727 mnemoc: and they were ready to do so from the very start of history? or did you just do git mv at the last moment?20:32
mnemoc albel727: since day one different cvs submodules, no conflict at all20:32
chrischambers joined20:32
Guest91296Whtiger20:33
khmarbaise joined20:33
ereslibre_laptop joined20:33
mnemoc A has no reference to B,C or D in it's history. all hidden by cvs20:33
ereslibre left20:33
SethRobertson mnemoc: I don't use submodules, I have a different script. However, if you can get a unified repo (I cannot) that is the superior solution20:33
ereslibre_laptopereslibre20:33
galderz joined20:33
albel727 SethRobertson: ok, after asking my questions, I conclude, that your approach might indeed work. so, do you have an easy way to sort commits by date in a fast-import stream?20:34
hasrb joined20:35
mnemoc git fast-export ..master | wc -l20:35
320:35
rolando joined20:35
mnemoc ^---- snif snif snif20:35
Evious left20:35
albel727 SethRobertson: alternatively, I suggest using git rebase --interactive with output, generated by git log --oneline20:35
yt_ror joined20:36
mnemoc albel727: that's indeed a nice idea after I get the repositories "collapsed" into one (without merges)20:36
albel727 "git log --oneline --date-order", to be precise. and we need to get each line prefixed with "pick "20:36
mnemoc sed s,^,pick ,20:37
SethRobertson albel727/mnemoc: I was playing with multi-repos and git-fast-*port and now understand the scope of the problem. It isn't just that these need to be date ordered, you actually need to synthesize a combined tree on each commit.20:37
mnemoc sed "s,^,pick ,"20:37
simosx_ joined20:37
yt_ror left20:37
Evious joined20:37
sonnym left20:38
gusnan left20:38
albel727 mnemoc: thing is, you actually need to run that rebase of mine on a repo with merges, and hopefully, it will provide a single branch without them. but that might take one hell of a time.20:38
simosx left20:38
mnemoc uhm20:39
i'll try adding a sub repositories as remotes and cherry-pick in a loop.... maybe i'm lucky20:39
SethRobertson Do you have multiple branches?20:40
mnemoc no, only one relevant20:40
i can tag manually after finishing the dance20:41
SethRobertson That is very good for you20:41
mnemoc it's good to have poor development practices sometime :p20:41
johnw joined20:42
johnw sitaram: ping20:42
programble joined20:43
dl9pf_ joined20:43
dl9pf left20:43
ScottO_ what is the procedure for updating a feature branch to the master?20:44
helo i used a series of 'git mv ... ...' to move some files around, and then stashed the changes, and applied... now git status shows all of the destination files as 'new', instead of renamed from their previous location. will this be corrected when i actually commit?20:44
albel727 SethRobertson: mnemoc: well, actually we can also use a combination of git filter-branch --tree-filter, with "git checkout -M 'older revision on another branch'" and "git-rev-list -1 --before GIT_AUTHOR_DATE". or some presumably faster alternative of --index-filter and git-read-tree -M...20:44
ScottO_ helo: i think it does that when you add them before the commit20:44
stringoO joined20:45
ScottO_ helo: when it notices that the file has same file has been removed from one location and added to another20:45
sh1mmer left20:45
SethRobertson albel727: mnemoc: If someone gets a script/recipe working, they should post it to the git mailing list20:45
albel727 SethRobertson: understood.20:46
dharrigan joined20:46
dharrigan left20:46
dharrigan joined20:46
SethRobertson ScottO_: it depends. you can `git rebase master` or `git merge master` depending how you feel. Other people just like to leave it stale and resolve the problems on merge-back20:46
ScottO_ well the branch has some changes that arent in master20:47
should merging master into the feature branch be good enough?20:47
goldbergus left20:47
ScottO_ SethRobertson: ok thanks, i guess ill merge master back into the feature branch20:47
SethRobertson ScottO_: Yes. As long as you `git checkout feature` you can `git rebase master` or `git merge master` without problem20:47
slide joined20:48
SethRobertson I'd probably rebase, but that is just me.20:48
ScottO_ rebase will make the commits on the branch get lost right?20:48
mnemoc albel727: your elegant proposal is far beyond my skills to implement :(20:48
ScottO_: rebase puts your commits on top of the other20:48
ScottO_ ah so rebase grabs master and then reapplies the commits on top of that20:49
mnemoc yes20:49
simosx_simosx20:49
ScottO_ cool tat might be better in the long run20:49
acs loves git grep <options> file/s20:49
petran joined20:50
FabianB__ joined20:50
rolando left20:51
FabianB_ left20:51
sitaram johnw: pong; but it's 2:20am, and my night-bird days are long gone. If it's a quick question, fine20:51
mnemoc loves git's power to mangle history :)20:51
ScottO_ is there any automated way to get tag numbers isnerted into every file as a comment?20:51
SethRobertson ScottO_ What is a "tag number"?20:51
ScottO_ like for version numbers20:51
which i assume is usualy done with tags20:52
imMute joined20:52
SethRobertson ScottO_: man gitattributes and look for $Id$20:52
jast SethRobertson: the 'gitattributes' manpage can be found at http://git.or.cz/man/gitattributes [automatic message]20:52
goldbergus joined20:53
SethRobertson Also smudge and clean20:53
Generally people don't bother with git.20:53
kylehayes__ joined20:53
ScottO_ why not20:54
SethRobertson Because git's SHA checksum of every file makes file identification pretty easy.20:54
dark joined20:54
chrisshattuck left20:54
peterjmag joined20:54
ScottO_ right now i have no clue which commit i last updated the production server to20:55
i could find out with some effort, but might be an opportunity to change the way things are done to make it easier20:55
dark I was in a feature branch, and I needed to work on another branch. I did git stash, git checkout anotherbranch, and then did the work. I then did git stash pop to go back, but it applied my stash *on top of anotherbranch*, not the branch I were when I did git stash (I thought it would first do git checkout ..)20:55
how to revert the stash, then go to the another branch and apply it?..20:55
kylehayes left20:56
kylehayes__kylehayes20:56
kylehayes30BAAGZB320:56
dark simply git stash, git checkout previousbranch, git stash pop?20:56
aaron01 joined20:56
peterjmag Hello all! I'm looking to set up colored git output on a coworker's OSX 10.5 machine. I have it on mine, but I believe it was automatically installed by the "repo" script when I was messing around with the android source code (following instructions at http://source.android.com/source/git-repo.html ). How can I set up colored git output manually? Rather, what does repo do to git to enable colored output in Terminal.app?20:56
SethRobertson ScottO_: People often have the server with a .git directory on it which you can directly query to find the current location20:56
ScottO_ yeah maybe i need to have git installed on the roduction server20:57
but my git repo isnt accessible to the production server20:57
aaron01 How do I update refs/remotes/origin/master. I tried to fetch origin master, but the ref isn't being updated?20:57
cbreak peterjmag: man git-config20:58
jast peterjmag: the 'git-config' manpage can be found at http://git.or.cz/man/git-config [automatic message]20:58
SethRobertson peterjmag: man git-config Search for color.ui and friends20:58
jast peterjmag: the 'git-config' manpage can be found at http://git.or.cz/man/git-config [automatic message]20:58
cbreak there are a few color variables20:58
also, take a look at gitx20:58
SethRobertson ScottO_: You can always blow the .git directory over there when you blow everything else20:58
ScottO_ true20:59
mnemoc git log --oneline --date-order doesn't work :(20:59
zomgbie left20:59
peterjmag cbreak: SethRobertson: ah, thanks! I was looking in the wrong config file, but now I can see the "[color] ui = auto" line20:59
SethRobertson ScottO_: Or just `git describe > .checkout-description` and send that one file20:59
mnemoc it seems to use commit date instead of the actual date20:59
dark actually git checkout previousbranch alone did the job (maybe because I just added an untracked file, and thus git stash was unnecessary?)20:59
but anyway i would like to know how to undo git stash pop..21:00
goldbergus left21:00
basicxman joined21:00
galderz left21:01
Aleks_Minton joined21:02
Guest67633 left21:02
Aleks_Minton left21:02
gusnan joined21:05
goldbergus joined21:05
albel727 mnemoc: --yeah, --date-order probably uses commit timestamp. you can make the commit date to coincide with patch date by git filter-branch --environment-filter and something like "set GIT_COMMITTER_DATE=GIT_AUTHOR_DATE" for the actual filter.21:06
mnemoc oh, nice trick21:07
dark another question: i have two branches, stable and devel. i needed to add debug something on stable and wanted to port the result to devel. i commited, then got a patch with git format-patch, then deleted the commit with git reset --hard HEAD^. applied it on devel, then merged devel on stable. is this procedure reasonable?21:07
s/add debug/debug/21:08
drizzd_ joined21:08
fr0sty dark could have stashed the change and changed branches, git stash pop and then committed21:09
you could have cherry-picked the commit from stable to devel and reset stable's head21:10
dark but the stable server lives on a different account o.o after merge into stable, i needed to go to that account and do a git pull21:10
fr0sty you could have created a teporary branch , commited, and done a rebase --onto devel HEAD~21:11
dark the stable server does not hold devel branch at all21:11
tvw left21:12
aaron01 I'm trying to do the following: /opt/foo is a clone of a feature branch in /opt/main. I'm trying to check if there are changes in the master branch in /opt/main that are not contained in the feature branch in /opt/foo. So something like: git rev-list HEAD..refs/remotes/origin/master. What I'm not sure of is how to update the rev-list for refs/remotes/origin/master within /opt/foo. If that makes any sense...21:12
mmc joined21:12
drizzd left21:12
fr0sty dark: where were you doing your work?21:12
dark stable21:12
fr0sty what server21:13
what user21:13
dark user ts, on a different computer21:13
in order to transmit some commit to devel, i sent a patch.. what i could do is to have the devel branch at the stable server, then do a git pull from the devel machine21:13
fr0sty if you are not on the same machine, and you won't add additional remotes and fetch other branches then passing around patches is pretty much your only option.21:14
dark but it seemed actually more awkward, not less21:14
cirwin aaron01: you want to fetch from /opt/main (I think)21:14
Unknown[NF] left21:14
alpheus joined21:14
peterjmag left21:15
fr0sty if you have the devel branch on your stable server so that you can commit to the devel branch on that machine you can push/pull to/from another machine without needing all this patch business.21:15
ScottO_ any reason why this would be giving me all of the history instead of just since the commit?21:15
git log --name-only 41b117fbe4c8b00b464153c215116cb34205a07621:15
albel727 mnemoc: anyway, what do you need this log for? you can achieve a log totally ordered by date in some other way, eg something like git log --format="%at %h %s" | sort21:15
aisipos joined21:15
bnovc whats the most effective way to find the last tag on the branch that I'm on21:15
slide I have a repo where I need to add my own project files in its directory structure but Id like to keep my files seperate, is there any way to do that?21:15
fr0sty Scott0: what were you expecting to see?21:15
aaron01 cirwin: doing a: git fetch origin master only updates FETCH_HEAD (with the correct sha1), and doing: fetch --update-head-ok origin master, doesn't update the ref either.21:15
ScottO_ i swear id id this the other day correctly, but the history for that disappeared21:15
yunosh left21:15
fr0sty bnovc: man git-describe21:16
jast bnovc: the 'git-describe' manpage can be found at http://git.or.cz/man/git-describe [automatic message]21:16
ScottO_ fr0sty: list of files changed since commit21:16
bnovc fr0sty: but that gives other stuff too and doesn't have a switch just for the tag (or maybe it does? I'll re-read)21:16
ScottO_ fr0sty: just the filenames themselves21:16
fr0sty slide: do you want them tracked or not?21:16
chrisshattuck joined21:16
fr0sty ScottO_: you need commitid.. if you want 'since' behavior21:16
mnemoc albel727: if i can fix the order once, it will just work everytime in future, without any wrapping. so it's a kind of "investment"21:17
bnovc ya, it seems to always suffix it21:17
I mean I could awk that part off but it seems nasty21:17
ScottO_ fr0sty: commitid?21:17
bnovc or I guess sed because the tag could have a dash21:17
slide fr0sty, the other repo? I guess I could track the original repo, but how would I then import changes from it where my files wouldnt be?21:17
fr0sty Scotto_: do you want a list of files from each commit or just the endpoints.21:17
ScottO_ endpoints?21:17
albel727 mnemoc: this --environment-filter "fix" will disappear upon next filter-branch or cherry-pick anyway, so you might as well not bother yet.21:18
__name__ left21:18
bnovc ah, --abbrev=021:18
fr0sty ScottO_: commit and HEAD or every commit in between.21:18
dark but, the question was more like, is this reasonable, to expect all new code to come from devel, and make sure all commits on stable are just merges? if the code actually came when working on stable, one could make an exception and merge stable onto devel21:18
ScottO_ i just need a list of all the fiels that had a modification and it could span multiple commits, but i dont want them to be seperated by commit21:18
dark but i don't know if the history would become too weird21:18
fr0sty dark: better to create feature branches off of stable, merge them to devel and then merge devel back into stable.21:19
less hacky.21:19
cirwin aaron01: I was under the impression that fetch gave you more than just an updated FETCH_HEAD21:19
mnemoc albel727: true, i'll have to do it again after getting rid of cvs21:19
fr0sty slide: I don't understand what you are trying to do.21:19
dark hmm. and them, transmit them to the devel machine using git fetch?21:19
then*21:19
notjohn joined21:20
ScottO_ fr0sty: so i guess the short answer is every file modification going from commit to HEAD21:20
albel727 mnemoc: well, just remember, that filter-branch allows specifying several filters simultaneously, so if you wont forget to add that --environment-filter to whatever else you're filtering for, everything will be ok.21:21
zomgbie joined21:21
WebDragon|laptop joined21:21
ScottO_ i swore it was git log --name-only but that spits out every file modification since the very first commit21:21
rather than starting at the commit provided21:22
WebDragon left21:22
WebDragon|laptopWebDragon21:22
fr0sty ScottO_: you need the two dots21:22
are you thinking about git-whatchanged?21:22
ScottO_ did that, it returns the right span of data, but groups them by commit21:23
maybe..21:23
aaron01 cirwin: hmm. looks like explicitly specifying the ref is what was wrong. Simple 'git fetch' updated properly.21:24
cirwin interesting21:25
ScottO_ fr0sty: but apprntly you cant use the commit hash with whatchanged21:25
dark aaron01, don't you need to have the ref on .git/config?21:25
ScottO_ n/m21:25
slide fr0sty, I have a git repo that is owned and controlled by other people. My project files are intertwined in it. If I create my own repo with the original repo files and my new stuff can I then sync the original repo files without harming/removing my own?21:25
amackera_away joined21:25
amackera_awayamackera21:25
ScottO_ but it still returns the same data as git log --name-only21:25
fr0sty slide: define 'sync'21:25
slide fr0sty, pull down their changes in my repo21:26
dark here [remote ".."] enables me to use git fetch ..21:26
albel727 mnemoc: I'm afraid I lied. filter-branch will preserve dates, unless instructed specifically. so, it's only cherry-pick that might be a problem.21:26
blackxored joined21:26
blackxored I always forget this21:26
how to setup an existing branch to track a remote branch21:26
fr0sty ScottO_: git diff --name-only <commit>21:27
ScottO_ fr0sty: maybe im thinking of git diff21:27
lol21:27
shennyg left21:27
fr0sty slide21:27
rgr joined21:27
ScottO_ :D thanks though21:27
cbreak Blackguard: man git-branch, search for -u21:27
jast Blackguard: the 'git-branch' manpage can be found at http://git.or.cz/man/git-branch [automatic message]21:27
cbreak sorry, blackxored21:27
fr0sty slide: just create a private branch and do you work there ane then merge upstream changes in, or rebase your changes on top of theirs.21:27
rgr just need to double check. I have just made substantial changes to my code base. I have not checked it in. I forgot to branch before hand. Do I need to stash before making the new branch and then restore the stash after changing to the new branch or can I simply branch and then check in? Whats best procedure?21:28
esc whats the current trend in Terminology, Index, Staging Area, Cache or just Stage?21:28
boombatower left21:28
_Vi left21:28
shennyg joined21:28
blackxored anyone?21:29
fr0sty cirwin: aaron01: 'git fetch' or 'git fetch <remotename>' will update remote tracking branches, but 'git fetch <remote> <refspec>' will only update FETCH_HEAD21:29
cbreak rgr: just create it21:29
amackera hey all, any ideas about a git svn error: "Unable to determine upstream SVN information from working tree history"21:29
cbreak blackxored: just learn to read21:29
blackxored cbreak, --set-upstream doesn't work21:29
fr0sty esc: all of them, depending on who you talk to.21:29
cbreak sure it does.21:29
blackxored i want to track a remote branch from a local branch21:29
fr0sty 'index' is still the canonical name as far as I know.21:29
blackxored cbreak, you pass <remote> <local> to it right ;)21:29
??/21:29
cbreak no21:30
blackxored or local remote21:30
esc fr0sty: yeah, thats what i use, but i find stage has a much nicer ring to it.21:30
cbreak just read the damn docs...21:30
before complaining21:30
blackxored Branch origin/master set up to track local branch master.21:30
i'm not complaining21:30
esc fr0sty: but then is it: "in the stage" or "on the stage"?21:30
darkredandyellow left21:30
blackxored and you need to be a little more kind with people ;) i just don't remember21:30
aaron01 fr0sty: thanks for the clarification21:30
cbreak just switch the args.21:31
fr0sty esc: 'in the index' ;-)21:31
darkredandyellow joined21:31
cbreak git branchs first argument is always the branch name of the branch you want to change.21:31
esc fr0sty: yeah i use it too21:31
blackxored ambigous object name origin/master21:31
by typing21:31
git branch --set-upstream master origin/master21:32
gebi left21:32
Eridius joined21:32
fr0sty blackxored: if you actually received "Branch origin/master set up to track local branch master." before it is because you created a local branch called origin/master.21:32
MetaCosm joined21:32
fr0sty git branch -d refs/heads/origin/master21:33
blackxored fr0sty, I don't have origin/master local branch dude21:33
cbreak sure you do21:33
you just created one above21:33
rgr just need to double check. I have just made substantial changes to my code base. I have not checked it in. I forgot to branch before hand. Do I need to stash before making the new branch and then restore the stash after changing to the new branch or can I simply branch and then check in? Whats best procedure?21:33
cbreak type git branch to list it :)21:33
blackxored cbreak, oh yeah ;)21:33
fr0sty blackxored: 'git branch'21:33
blackxored cbreak, was on the config ;)21:33
cbreak rgr: just learn to read, I already answered above21:33
rgr cbreak: your help would be much more appreciated without the snide comments. Thanks anyway.21:33
rgr left21:33
fr0sty rgr: just create it.21:34
and remember: git is very reluctant to destroy your work21:34
cbreak I help to help people, not to make them worship me.21:34
fr0sty and will only do so if you ask nicely.21:34
SethRobertson cbreak: Your help would be much more useful if people would listen21:34
blackxored I did it already, thanks so much guys, I've always blown the param order ;)21:34
cbreak SethRobertson: maybe I should try all caps?21:34
blackxored no no caps plz ;)21:34
s0ber_ joined21:35
Mannequin1 left21:35
Mannequin joined21:36
acs what is the diff between checkout and clone ?21:36
Mannequin hi. I'd like to deploy to a remote server using git.21:36
acs or between checkout and branch ?21:36
Mannequin Problem: remote server doesn't have git installed, nor seems possible to install it. (remote server is just a shared hosting server)21:36
manoot left21:36
cbreak acs: they do completely different things21:36
esc acs: checkout is for local versions or branches, clone for an entire git repository21:36
cbreak what do you think is NOT the difference?21:37
mnemoc clone does a checkout too :)21:37
acs esc: and between checkout & branch ?21:37
Mannequin I wonder: could it be possible to mount a remote server folder and use that folder as it is a local folder?21:37
cbreak Mannequin: git's not a deployment tool. Consider using hooks to start some deployment script21:37
Mannequin (and thus, be able to work with git)21:37
acs mnemoc: hmmm...21:37
s0ber left21:37
esc acs: in a branch context, checkout will switch branches, and branch will create them21:37
manoot joined21:37
s0ber_s0ber21:37
fr0sty Mannequin: git is not a deployment tool21:37
esc mnemoc: indeed :)21:37
Cacheaway Mannequin: possible, linux has various network-based mounting options, i am pretty sure there's an ftpmount, and probably an ssh mount21:38
Mannequin: why not just use rsync though?21:38
cbreak branch can also destroy, change or rename branches21:38
acs esc: ah, checkout moves a pointer on that graph... and branch does not21:38
cbreak no21:38
fr0sty Mannequin: man git-archive which can get you a tarball of a particular revision.21:38
jast Mannequin: the 'git-archive' manpage can be found at http://git.or.cz/man/git-archive [automatic message]21:38
cbreak checkout does not move pointers in graphs21:38
dunpeal left21:38
cbreak in it's normal mode it just changes HEAD21:38
Cacheaway Mannequin: do you have shell access to the host? you would need that anyway21:39
Mannequin cbreak, fr0sty: yes, I've read -not that much- about git not being a deployment tool. But I don't know/understand the downside of deploying with git. It seems to make deployment so easy...21:39
(note: I'll keep the .git/ folder outside DocumentRoot)21:39
Cacheaway: yes, I've shell access to the host21:39
fr0sty Mannequin: #1 for web deployment is that git does not track r/w permissions.21:40
but there are many others...21:40
petercoulton left21:40
cbreak git doesn't track any permission besides executability21:40
esc would it be reasonable to claim that checkout switches branches?21:40
Cacheaway Mannequin: then can you download and build git there yourself?21:40
acs it just changes HEAD : this is what esc wants to say "checkout will switch branches" ?21:40
cbreak in normal mode it does, indeed21:40
you can also detach your head with it21:41
but it has a few more special modes21:41
IslandUsurper draws a finger across his throat menacingly.21:41
mnemoc doesn't like to have the head detached21:41
esc yes, and restore files in your working tree that have been modified21:41
schambers left21:41
cbreak not in normal mode21:41
fowlduck joined21:41
Mannequin Cacheaway: I've read about that, it looked a bit overkilling (and mounting a remote folder on my local machine seems easier...), but will look into it again.21:41
acs esc: ya21:42
I try it now:21:42
git checkout origin/gtk-tabs21:42
(in emacs)21:42
esc acs: trying out commands is always best21:42
compnerd joined21:42
IslandUsurper err21:42
esc acs: but checking out a remote-trackin-branch will not be so helpful :(21:43
acs indeed, it switched to another branch, and destroyed the original master21:43
IslandUsurper reading what commands actually do is better21:43
Cacheaway Mannequin: one thing people seem to not get about unix systems is that there is no universal install that requires root permission. you should be able to build and "install" everything inside your home directory21:43
esc acs: the master is still there, its not destroyed21:43
Cacheaway unless your host has it mounted noexec. . .21:43
HG` left21:43
Mannequin Cacheaway: thanks for the tip21:43
acs If you want to create a new branch from this checkout, you may do so21:43
(now or later) by using -b with the checkout command again. Example:21:43
git checkout -b <new_branch_name>21:43
HEAD is now at dcb86ef... Tab keys are symbols. Tab switch is in elisp. Save/restore point in tabs also.21:43
esc acs: use git checkout master to "switch" back21:44
acs: and use a pastebin for pasting, please :)21:44
acs (this is displayed after git checkout origin/gtk-tabs21:44
Cacheaway Mannequin: if there is an autoconf you probably want to start out with something like ./configure --prefix=~/21:44
acs ok21:44
LOL21:45
esc acs: what you did was checkout a remote-tracking-branch, you will not be able to commit there21:45
acs git grep tabs src/* reports lots of matches now21:45
esc acs: don't use emacs :) sorry.21:46
acs esc: hm ?21:46
zombor left21:46
jonesy joined21:46
d0k left21:46
linusoleander joined21:46
acs emacs is the greatest editor of all the times21:46
slide How do I pove a repo to my own server? do I just change the remote and push it back to the new bare git repo their?21:46
esc acs: try this one: http://www.gitready.com/beginner/2009/03/09/remote-tracking-branches.html21:46
jonesy is there a way to clone the *contents* of a git repo into the $CWD? In other words, I don't want it to create a directory for me.21:47
joel_falcou left21:47
slide s/pove/move21:48
Athox joined21:48
jonesy left21:49
Murr_ joined21:49
manoot left21:49
SethRobertson slide: Sure, that is one way21:49
Mannequin cbreak, fr0zty: will research a bit more about using (or not) git for deployment. Besides the permission issues, it's too tempting to run a website directly from a git repository...21:49
slide is that the normal way? heh21:49
manoot joined21:49
Mannequin 1) it makes it easier to backport changes done directly in the production website (like images or other non-database content added by clients)21:49
2) you could do a `git checkout maintenance_mode` to switch to, well, a branch purposed to maintenance21:49
3) running `git status` would help to spot added/modified (hacked?) files21:49
SethRobertson slide: Another is to do a `git clone --bare --mirror oldupstream` and then repoint the remote21:49
goldbergus left21:49
SethRobertson Mannequin: http://toroid.org/ams/git-website-howto if you did not see it before21:50
slide SethRobertson, do that on the server right?21:50
Mannequin SethRobertson: thanks21:50
SethRobertson slide: new server, yes21:50
However, I agree that git is not a deployment tool21:50
Anti-X left21:51
blackxored left21:52
manoot left21:52
nullvariable left21:52
manoot joined21:53
jaql left21:53
acs esc: I read it. I do not understand too much. What's the diff between a local branch and a remote branch ?21:54
mrFrog joined21:55
mikeric left21:55
schambers joined21:56
Dave^| left21:57
manoot left21:57
manoot joined21:58
esc acs: i try to explain, remote-tracking-branches are pointers in your DAG that point to the same commits as those pointers in your remote repository, for example "origin"21:58
chrisshattuck left21:58
schambers left21:58
p3rg2z joined21:58
frogonwheels joined21:59
WebDragon left21:59
aspotashev joined21:59
esc acs: so if master points to commit 1234abcd in the remote repository "origin", and you clone that repository, origin/master will point to 1234abcd in the clone21:59
IslandUsurper left21:59
cilly left21:59
matjas left22:00
esc acs: is that clear?22:00
acs esc: i am pondering ...22:00
slide SethRobertson, when i try to clone the new repo on the server im getting "does not appear to be a git repository"22:01
d2dchat joined22:01
mrFrog Can someone explain something to me? I'm confused with how deleting files works. If I start a new branch and delete/move files and then switch back to the master branch, shouldn't those files still be there?22:01
SethRobertson slide: On the new server you are supposed to clone (bare/mirror) from the old server22:01
cirwin mrFrog: if they were committed, yes, otherwise no22:02
acs esc: by cloning, a remote repository lies on my own computer, even if it is "remote", isn't it ?22:02
SethRobertson slide: The old mirror obviously still has to be working for this technique to work.22:02
slide i ran, "git clone --bare --mirror theoriginalsource newdir"22:02
mrFrog I though I had. I'll check again though and try it.22:02
rayners_afkrayners22:02
esc acs: depends22:02
anathematic joined22:02
joel_falcou joined22:02
mfacenet left22:02
p3rg2z left22:03
SethRobertson slide: and theoriginalsource is the same as the `url shows in your original clone by `git remote -v show`?22:03
esc acs: if you have a repository in a directory locally, and you clone that into another directory, then you "remote" is effectively local22:03
sundsted left22:03
slide SethRobertson, i used the public repo url that i would normally use with git clone22:03
acs esc: after I make a clone after a remote repo, and within that remote repo arrive other commits from the others, how can I update my clone, such that my "remote" repo to be syncronized with the remote repo ?22:04
esc acs: if you clone a repository over the net, the remote repository resides on the server from which you cloned it22:04
SethRobertson slide: but...is it exactly the same as the `git remote -v show`?22:04
slide SethRobertson, nope, but it did pull down all their code22:04
acs esc: I see...22:04
SethRobertson slide: you are confusing me. I thought you said it failed22:04
slide SethRobertson, oh no the server part worked fine. but when I try to clone that on my local computer it fails22:04
esc there are basically 3 commands you need to interact with remote repositories22:05
acs esc: however, when I clone a repo over the net, like emacs.git, it brings to me about 350MB.22:05
esc acs: fetch and pull -- and push22:05
acs: yeah... its emacs22:05
SethRobertson slide: what command failed?22:05
esc acs: you get the emacs source code, with all its history22:05
mrFrog ciwin: It still doesn't do what I'm thinking it should. If I commit my master branch and then do 'git checkout -b testbranch' and then remove a folder in the project directory and then do 'git checkout master', the files aren't there anymore.22:06
acs fetch brings latest commits, and pull does the same ?22:06
slide "git clone urlfornewrepo" for the new repo22:06
esc acs: pull does some more magic22:06
cannonball left22:06
acs probably push "pushes" my patches remotely (if I have access)22:06
SethRobertson slide: Is that url something like: ssh://hostname/path/to/repo?22:06
esc if the branch you are on, and this is where it gets confusing, is setup to track a remote branch, pull will do a fetch and a merge22:06
acs esc: what does pull in plus than fetch ?22:06
Torsten left22:06
noahcampbell joined22:07
noahcampbell When I get this message: Untracked working tree file 'packaging/rundeck.spec' would be overwritten by merge.22:07
acs esc: i see.22:07
slide yes22:07
noahcampbell when I try a checkout...the interwebs says to do a git co -f22:07
mrFrog cirwin: It still doesn't do what I'm thinking it should. If I commit my master branch and then do 'git checkout -b testbranch' and then remove a folder in the project directory and then do 'git checkout master', the files aren't there anymore.22:07
esc acs: thats a bit tricky, unfortunately22:07
noahcampbell Is there something more elegant, then simply blowing away the file?22:08
SethRobertson slide: Then what does `ssh hostname ls /path/to/repo` print?22:08
noahcampbell Can I merge the two versions?22:08
mlq left22:08
cbreak noahcampbell: delete it, rename it...22:08
cirwin mrFrog: bizarre — does git whatchanged show you that you committed them on master correctly?22:08
cbreak noahcampbell: or start tracking it22:08
quentusrex joined22:08
fr0sty mrFrog: that is because 'testbranch' and 'master' are at the same commit22:08
quentusrex How do I get git to stop pushing a particular branch.22:08
fr0sty git checkout shouldn't change anything in that case.22:08
quentusrex I no longer want that branch pushed to the central repo22:08
esc and push will push stuff, however by default it will push all local branches, which have a branch on the remote sind with the same name22:08
cirwin noahcampbell: not easily, unless you know what the parent was22:08
fr0sty noahcampbell: move the file aside.22:09
esc acs: you can configure that behaviour with push.default22:09
noahcampbell okay...thanks22:09
slide SethRobertson, i think i failed to add the repo to my list of allowed repos, (i havnt messed with this server code in a while) let me see....22:09
mrFrog fr0sty: then what would I do to switch back and have my files back?22:09
fr0sty mrFrog: git status will tell you.22:09
esc acs: but the rule of thumb is that fetch just updates remote-tracking-branches, and pull will also do a merge22:09
fr0sty (presuming the directory was tracked by git.22:10
esc acs: but sometimes i can't get fetch to do what i want :(22:10
ph^ left22:11
mrFrog git status just says 'deleted: filename.ext' (3 lines)22:11
acs esc: ya, I am too beginner22:12
manoot left22:12
acs esc: I need to learn it, otherwise I cannot use emacs as I wish ...22:13
manoot joined22:13
jmil joined22:13
jarrod_ left22:13
dquestions left22:14
mrFrog fr0sty: what should I do to keep track of moved/deleted files so they come back when I switch branches?22:14
fr0sty esc: what is your problem?22:14
use 'git mv' or 'git rm', commit the change, then switch branches.22:14
skalnik joined22:14
esc sometimes git fetch will not update my remote-tracking-branches22:14
fr0sty esc using what command?22:14
mrFrog so I have to use git to move the files or remove them? It doesn't just figure that out?22:14
acs esc: have you seen these videos : http://edgyu.excess.org/git-tutorial/2008-07-09/22:15
esc fr0sty: git fetch $REMOTE22:15
manoot left22:15
Murr_ left22:15
dquestions joined22:15
esc fr0sty: git remote update will work22:15
manoot joined22:15
esc fr0sty: its whenever i am in a branch not set up to track anything22:15
fr0sty: i *think*22:15
fr0sty esc which remotes are you giving?22:16
skalnik Is there anyway to refer to commits from the initial commit? Like master# is the original commit on master and master#1 is the second and so on?22:16
fr0sty and are you running 'git remote update' or 'git remote update <remotename>' ?22:16
esc i run plain 'git remote update'22:16
fr0sty skalnik: no. Git's graph is not bi-directional.22:16
esc and which remote is not updating?22:16
yairgo left22:16
esc fr0sty: no with 'git remote update' everything is fine22:17
but a plain 'git fetch $REMOTE' will fail22:17
fr0sty how many remotes do you have.22:17
?22:17
esc one sec22:17
fr0sty I was asking about git fetch, sorry I wasn'22:17
t clear22:17
skalnik fr0sty: Alright thanks. Is there any easy way to walk commits from the initial commit to master?22:17
esc i should create a cannonical example22:17
fr0sty skalnik: what are you trying to do?22:18
rayners left22:18
q0rbanq0rban|afk22:18
skalnik fr0sty: I'm trying to do a code demo where each commit is another step in the demo22:18
opalka left22:18
sonnym joined22:18
fr0sty git log --oneline --reverse22:18
skalnik Sweet, that's a lot of help :)22:19
stanmancan joined22:20
esc fr0sty: i seem to be unable to recreate this now, i will pay more attention next time it happens22:21
mrFrog left22:22
stanmancan Sorry for a lame question, I'm new with Git and in a bit of a crunch so I don't have time to look into it myself... If I have changes done locally and want to pull the latest version, git tells me I need to stash or commit. I don't want to commit, so is there a way to stash my changes, pull the latest ones from the repo, and then re-apply my old un-commited changes?22:22
cirwin man git-stash22:22
jast cirwin: the 'git-stash' manpage can be found at http://git.or.cz/man/git-stash [automatic message]22:22
stanmancan Missed my first sentence I take it? :(22:23
cirwin if you'd clicked the link you would already know the answer22:23
simosx left22:23
stanmancan It's funny how some IRC channels like to be friendly and useful, and others like to be cirwin22:24
mnemoc git log --date-order still lists them in reverse commit order even after setting the commiter env equal to author env :(22:24
bronson stanmancan, you're asking someone to take type to type the git-stash manpage into irc?22:24
that would take more of your time too.22:25
crab stanmancan: stash. pull. stash pop.22:25
notjohn left22:25
cirwin bronson: it's too late, he already made me type more than I needed to to explain22:25
MikhX left22:25
bronson cirwin, I know, it's weird.22:25
MikhX joined22:26
gh34 left22:26
stanmancan Actualyl crab answered my question in four words.22:26
manoot left22:27
cirwin mine would have been two if it had worked :)22:27
you win some you lose some22:27
fr0sty esc: 'git fetch' with no remote argument will only work if tracking is set up (man git-fetch will explain). 'git fetch <remotename>' should do pretty much what 'git remote update <name>' would do.22:27
jast esc: the 'git-fetch' manpage can be found at http://git.or.cz/man/git-fetch [automatic message]22:27
Guest106371 joined22:27
madsy left22:27
_Vi joined22:28
ereslibre left22:28
manoot joined22:28
esc fr0sty: yeah i reckon so, i just remember being baffled a couple of times, cause it didn't :)22:28
mikeric joined22:29
psoo joined22:29
stanmancan "file.ext: needs merge | cannot apply to a dirty working tree, pelase stage your changes"22:30
fr0sty stanmancan: what did you do?22:30
pantsman left22:30
stanmancan git stash, git pull, git stash pop22:30
fr0sty stanmancan: you need to resolve the conflicts from 'git pull' first22:30
stanmancan fr0sty: and I go about that .... how?22:31
fr0sty I have no way of knowing what conflicts your merge produced.22:31
git status will tell you what files need to be dealt with.22:32
kar8nga joined22:32
fr0sty those files will have >>>>>> ======= <<<<<< conflict markers in them.22:32
If you hadn't figured it out yet, "file.ext" is one of those files.22:32
mnemoc how can I pass an ordered file to git rebase -i? `git log "--pretty=format:%at %h %s" | sort -n | sed -e 's,^[^ ]\+,pick,'`22:33
lhz left22:33
Mage joined22:33
cbreak mnemoc: evil!22:34
tried copy&paste?22:34
fr0sty mnemoc: cut and paste into the editor22:34
mnemoc ouch22:34
fr0sty what were you expecting?22:34
Eridius left22:34
MattDiPasquale left22:34
mnemoc cbreak: yes, evil :)22:34
MikhX left22:34
zwnj joined22:35
mnemoc fr0sty: an argument to pass a file instead of opening $EDITOR :)22:35
Yuffster left22:35
stanmancan fr0sty: is it possible to just deelete the conflicting file from the stash?22:35
fr0sty mnemoc: GIT_EDITOR=my_evil_plan.sh22:35
mnemoc oh22:35
fr0sty: thanks :)22:36
pigdude left22:36
fr0sty stanmancan: this has nothing to do with the stash. you need to complete the pull. (or did you do that already?)22:36
stanmancan fr0sty: the pull went fine, it's not happy when i try to stash pop22:36
khmarbaise left22:37
manoot left22:37
fr0sty stanmancan: what does 'git status' tell you.22:37
stanmancan Unmerged Paths: both modified: file.ext22:38
manoot joined22:38
stanmancan i don't need the stashed version of file.ext though22:38
rryouumaa left22:38
fr0sty that means your pull did not got 'fine'22:39
stringoO left22:39
airborn joined22:39
fr0sty I will repeat, since you are short on time: your current problem has nothing to do with the stash and everything to do with your failed merge.22:39
Eridius joined22:39
pantsman joined22:41
pantsman left22:41
pantsman joined22:41
30BAAGZB3 left22:41
ehabkost left22:41
kylehayes joined22:42
alin-gym left22:42
mnemoc GIT_EDITOR=../evil_editor.sh git rebase -i 3dc2588c422:42
Successfully rebased and updated refs/heads/master.22:42
:D22:42
\o/22:42
MikhX joined22:44
tildeequals left22:44
fr0sty mnemoc: congratulations on whatever it is you just managed to do.22:44
kylehayes left22:45
alin-gym joined22:45
cirwin loves fr0sty's EDITOR= git rebase trick22:45
amason left22:46
khmarbaise joined22:46
stanmancan thanks for the help fr0sty22:47
fr0sty did you figure it out?22:47
stanmancan i just ended up deleting the messedup files and restoring from a backup LD22:47
Slix` joined22:47
stanmancan all looks good now22:47
well, good considering22:47
amason joined22:47
anathematic left22:47
kylehayes joined22:48
fr0sty that is one way to do it...22:48
anathematic joined22:48
cbreak if you have a git repo, just restore them from the history22:48
stanmancan Yeah... I need to go through git a bit more thoroughly and really figure it out but I'm _swamped_22:48
my manager decided to disappear the last 3 days right as we're going live with a bunch of trials22:49
so now i'm the one scrambling to get our servers up, bugs fixed, trials running ect.22:49
cbreak lucky you22:49
stanmancan :(22:49
cbreak managers just stand in the way anyway22:49
stanmancan yeah, but it's also a second set of hands22:49
cbreak a set with two left hands? :)22:50
stanmancan and he's the one that's developed 80% of the application so22:50
stringoO joined22:50
stanmancan :D, well put22:50
fr0sty cbreak: what do you have against left hands?22:52
cbreak in general? nothing. If they are attached to a right arm it gets anoying though.22:53
khmarbaise left22:53
kylehayes left22:54
fr0sty fair enough...22:54
kylehayes joined22:54
airborn_ joined22:54
mnemoc fr0sty: turn 4 cvs virtual modules into a single git repo with all individual commits ordered by date22:55
MattDiPasquale joined22:55
simplecoder joined22:56
SethRobertson fr0sty/mnemoc: and more specifically developed on the same branch (as I understand it)22:56
mnemoc yes, master-only22:56
but it's good enough for my needs :)22:57
flazz left22:57
SethRobertson I meant appearing as if they were developed on the same branch, as opposed to what sub-tree merge does22:57
mnemoc nods22:57
fr0sty so you merged the four and then rebase -i to make it all linear by commit date, eh?22:58
airborn left22:58
airborn_airborn22:58
dgtlmoon left22:58
mnemoc fr0sty: yes, but without a "merge" in the history22:58
fr0sty hence: 'linear'22:58
mnemoc right22:58
airborn_ joined22:58
mnemoc which i doubt can be done on any other VCS22:59
joel__ joined22:59
airborn_ left22:59
fr0sty well, not in anything approaching an automated fashion.22:59
manoot left22:59
joel_falcou left22:59
manoot joined23:00
fr0sty you could probably pull patches and timestamps, mangle the paths, sort them and apply them, but that is for people with more time than sense.23:00
zwnj left23:00
mnemoc =)23:00
fr0sty that doesn't count as 'using' a VCS though...23:00
coderdad left23:02
guardian joined23:02
q0rban|afkq0rban23:03
mlq joined23:04
mlq left23:04
mlq joined23:04
helo i used git fsck to find a stash i accidentally blew away... how do i recreate a stash from the sha?23:05
just cherry-pick, reset HEAD^, and stash it?23:05
fr0sty helo: git stash apply <sha> doesn't work?23:06
q0rbanq0rban|afk23:06
ricky joined23:06
fr0sty hmm, docs don't seem to mention that working...23:07
helo ahh, i'd never referred to a stash via sha... thanks :/23:07
fr0sty can't hurt to try though.23:07
wuj joined23:07
warbee left23:08
fr0sty otherwise a stash is just another commit, so your cherry-pick+reset+stash would work.23:08
ricky left23:08
helo apparently must be cherry-picked as a merge23:09
stash apply <sha> worked fine, thanks :)23:09
fr0sty good to know, that might warrant a mention in the docs...23:09
ricky joined23:10
MikhX left23:10
AdmiralSausage joined23:10
kipras left23:10
jrmuizel left23:10
MikhX joined23:11
ceez left23:12
j0shua left23:12
burhan left23:15
shiba_yu36 joined23:15
stringoO left23:16
dquestions left23:16
anathema_ joined23:16
dquestions joined23:16
beatak_tksh joined23:17
beatak_tksh left23:17
anathematic left23:17
mrFrog joined23:18
sraue left23:19
sraue joined23:19
beatak left23:20
mrFrog so I have git installed on my local computer as well as a remote server. How can I push the repo to the remote server?23:23
cbreak with git push...23:24
guardian left23:25
cbreak create a bare repo at the destination, add the destination as remote in the source23:25
then push23:25
tizbac_ left23:25
simplecoder left23:26
albel727 left23:26
mrFrog ok so how do I add a url as remote?23:26
cbreak you add the repository as remote23:27
Ryback_ left23:27
cbreak with, surprise surprise, git remote add23:27
read the man page23:27
bremner mrFrog: have you considered man gittutorial ?23:27
jast mrFrog: the 'gittutorial' manpage can be found at http://git.or.cz/man/gittutorial [automatic message]23:27
simplechat joined23:28
brosner joined23:29
mrFrog left23:30
kylehayes left23:30
Khisanth joined23:32
xiong joined23:36
zorganae joined23:37
guardian joined23:38
dgtlmoon joined23:39
TeckniX left23:41
guille_ joined23:42
guille_ hi23:42
thiago_home left23:44
fr0sty hi23:44
constantc joined23:46
fr0sty ...23:46
ignatp_ joined23:47
project2501a joined23:47
guille_ I changed with a tree-filter the .gitmodules to point to a different url but github isn't linking the external repositories correctly. Any ideas?23:47
zombor joined23:48
project2501a left23:48
guille_ (is there any other place where the submodules info gets stored?)23:48
schambers joined23:48
coldboot Is there a git command to remove a file from the index and working tree completely?23:49
It seems you need to "git reset; git checkout; git reset; git checkout" for some files with status 'UU', 'DU', and others.23:49
pantsman left23:50
constantc left23:50
SethRobertson guille_: see man git-submodule .gitmodules and .git/config have info23:50
jast SethRobertson: the 'git-submodule' manpage can be found at http://git.or.cz/man/git-submodule [automatic message]23:50
SethRobertson guille: However, I would like to take the opportunity to promote gitslave as an alternative to git-submodules. It can be better (or worse) depending on your desired workflow.23:51
masonkramer left23:51
masonkramer joined23:51
eletuchy joined23:51
SethRobertson It also of course tracks submodule information in the internal git tree23:52
Tuller joined23:53
jarrod_ joined23:55
guille_ SethRobertson: I'll check it out. Now trying doing a git submodule sync after .gitmodules have been sed'ed.23:55
thanks23:55
kar8nga left23:56
fr0sty guille_: did you force a push on your filtered branches?23:57
manoot left23:58
AdmiralSausage left23:58
manoot joined23:58

Logs Search ←Prev date Next date→ Channels Documentation