IRCloggy #git 2011-12-13

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.

2011-12-13

tblamer left00:00
ognevsky joined00:00
dreiss left00:01
bauruine joined00:01
notola left00:01
gebbione i m trying to understand this whole bare/non bare thing and i dont see the point ... why doesnt git handle these kind of things transparently?00:01
cbreak because it's not possible to do that00:02
AaronMT left00:03
Defusal left00:03
Womkes joined00:04
__iron left00:04
DofLeFou left00:04
gebbione sure now i know i cant do it but i m trying to understand why git cant synch both repos at push?00:05
thiago left00:06
bremner gebbione: what if there are changes in the work tree?00:06
Goplat it does synch the repos, sort of, what it doesn't synch is the index and the working copy00:06
baburdick left00:07
thorbjornDX and the reflog00:07
gebbione bremner: if there were changes i would expect a merging/resolution of the changes rather than a reject, but obviously i dont know git well00:07
baburdick joined00:07
duckx left00:08
bremner merging can't work on a push. imagine pushing via http00:08
dotnull joined00:09
Spockz joined00:11
duckx joined00:11
ramsey left00:11
gebbione bremner: i mainly use svn n i compare it to it right now ... i understand the distributed concep but i dont see why synching/merging over http cant happen this is what i would do on svn00:12
bremner gebbione: ok, I don't really have time for a long discussion. Let me summarize by saying that in git, all merging happens on the local machine, and push is simple operation.00:13
berserkr left00:13
kmc left00:14
cccaldas left00:14
Goplat gebbione: you can't push to an svn working copy either, in svn working copies and repositories are completely different things00:14
berserkr joined00:14
gebbione so if i want to use a repo as a remote store this needs to be a bare repo?00:14
berserkr left00:14
Goplat so why complain about not being able to push to a *non-bare* git repository if you like svn? :)00:14
thorbjornDX gebbione, yes00:14
cccaldas joined00:14
dreiss joined00:15
nevyn left00:15
guampa left00:15
gebbione ok well i ll clone it with --bare ...00:15
Agos left00:15
airborn left00:15
cbreak if you want to push to a repository, push to a branch that is not checked out00:16
or make it bare00:16
tewecske left00:16
Agos joined00:16
gebbione can i make it bare without cloning it?00:16
pheaver left00:16
nevyn joined00:17
mugwump gebbione: sure, just remove the index, adjust the config file and delete the working copy00:17
macRover left00:17
cschneid left00:17
bremner clone --bare is easier ;)00:17
pheaver_ joined00:17
mugwump however, note that 'git clone --bare' on a local filesystem is very efficient00:17
cbreak even on a different fs it's more efficient than him figuring out how to do it manually...00:18
berserkr joined00:19
gebbione yea i thought so00:19
mugwump quicker, but more efficient? :)00:19
Heimidal_ left00:19
mugwump learning git internals is a useful investment, and I would say leads to greater efficiency, using the economist's definitino00:19
TStubbs left00:20
vptr joined00:20
thorbjornDX mugwump, learning git internals and something like fugitive.vim is even better00:20
gebbione nice it worked, thanks all for your input00:22
ripero left00:23
isxek left00:24
vptr left00:24
ixti left00:24
eijk left00:25
ShooterMG joined00:26
Spockz left00:27
Heimidal joined00:29
johndo joined00:29
johndo left00:31
johndo joined00:31
cccaldas left00:31
mcluskydodallas left00:31
kinetic left00:32
Womkes left00:32
mcluskydodallas joined00:32
shiba_yu36 joined00:33
cakehero joined00:33
lapistano left00:34
replore joined00:34
isxek joined00:34
lapistano joined00:34
asoltys joined00:35
Heimidal left00:35
billy_ran_away joined00:35
billy_ran_away Hi I think I may have just lost two days worth of work...00:36
I was looking to delete a commit that was like two commits back...00:36
I had some uncommitted changes in my working directory00:36
thomas_b left00:36
billy_ran_away And I did a git reset --hard <sha1-commit-id>00:36
uso joined00:36
billy_ran_away They're gone now aren't they?00:36
mugwump billy_ran_away: try git fsck --lost-found00:37
canton7 if you ran 'git add' on those changes (even if you didn't commit them), you can get em00:37
mugwump if they ever got added, they might be there00:37
verto left00:37
uso hi00:37
baburdick left00:37
pheaver_ left00:37
billy_ran_away I didn't...00:37
stepnem left00:37
billy_ran_away I fucking hate git...00:37
drizzd left00:37
mugwump billy_ran_away: are you on OS X ? Using TimeMachine?00:37
uso is there any way to reset git-svn to a former svn revision?00:37
billy_ran_away mugwump: Nice thought… but I don't have TimeMachine on...00:38
Tommy[D] left00:38
bob2 billy_ran_away, would you hate svn if you'd run 'svn revert -R .'?00:38
uso (our svn repository got reset to an older state :()00:38
pheaver joined00:38
thomas_b joined00:38
z0ned left00:38
canton7 uso, can you define more clearly? Do you want to look at a former revision, or make the next revision the same a one of the previous oens?00:38
baburdick joined00:38
canton7 *ones00:38
billy_ran_away bob2: Maybe for a little while : )00:38
mugwump billy_ran_away: it's just a couple of days. spend time learning how to use stgit and you'll get that back00:39
Tommy[D] joined00:39
mugwump and then you'll have less work to lose because you'll be committing more often00:39
and revising commits etc00:39
shiba_yu36 left00:39
uso canton7: i have fetched revisions from the svn repository which now do not exist anymore00:39
brian_g left00:40
mugwump uso: heh, that's a bit of a violation of the svn social contract00:40
uso i know, i know, don't tell it to me ;)00:40
mugwump but you can just reset the git-svn tracking branches, and blow away .git/svn00:40
canton7 ah. git svn fetch; git reset --hard remotes/trunk. The standard warning about this nuking uncommitted changes applies00:40
Mikachu uso: you can just reset your tracking branches to older revisions00:40
oh, does just git svn fetch handle it by itself?00:41
canton7 (not sure if the fetch will do what you need come to think -- i don't know what assumptions it makes)00:41
mugwump then when you next run 'git svn' it will rescan the history w.r.t. the git-svn logs00:41
uso canton7: ah, i do not need to check out this branc (remotes/trunk) to reset it?00:41
(cause when i try to i end up in headless state..)00:41
Mikachu uso: the proper syntax would be git push . somehash:refs/remotes/trunk00:41
canton7 uso, I'm hoping that remotes/trunk will reset itself when you run git svn fetch. You can then reset the local master branch to it00:41
Mikachu uso: if just 'git svn fetch' isn't enough on its own00:41
mikepack left00:41
billy_ran_away It's just so frustrating that the reset does so many things…00:41
gchristensen joined00:41
jkyle__ left00:42
Mikachu reset is something like 5 commands with the same name :)00:42
mikepack joined00:42
Mikachu at least checkout is only two or three00:42
mugwump uso, you can first make some shell fragment to return the first non-deleted commit00:42
canton7 there is a thread on the ML about making those different modes more clear / making up new commands00:42
tatsuya_o joined00:43
mugwump then loop over all the SVN tracking refs using git for-each-ref and call that script on it to get the newest commit you want to keep, and run git update-ref to update it00:43
if there's only a handful you could probably do it manually by clicking around in gitk00:43
and running git update-ref by hand00:44
nevyn left00:45
shiba_yu36 joined00:45
Ludwig47_ joined00:46
Agos left00:46
Ludwig47_ When cloning a remote repository, how can I force all branches to be downloaded?00:46
mikepack left00:46
nevyn joined00:47
gchristensen left00:47
mugwump Ludwig47_: try 'git branch -a' to see if that's what you were missing00:47
gchristensen joined00:47
mugwump taking your question literally, git clone --mirror00:47
Mikachu less literally, check git branch -a00:48
canton7 Ludwig47_, they are. What isn't created are local branches that track the remote ones. However, because of some 'git checkout' magic, you can do this: If branch 'origin/foo' exists, just run 'git checkout foo' to create and checkout a new local branch based off it00:48
eletuchy joined00:48
kpreid left00:49
kenperkins left00:50
Ludwig47_ canton7, essentially what i want is to ensure all the src code is downloaded locally, from all branches00:51
wilmoore left00:51
canton7 the initial clone fetches *everything* from the remote repo. If you cloned, then hid away in a cave with no internet, you'd be able to checkout all branches. I'm probably misunderstanding what you want, though00:52
Ludwig47_ canton7, no that answers it, i think the confusion is mine00:53
nevyn left00:53
billy_ran_away left00:54
nevyn joined00:54
canton7 The code isn't yet in *local* branches, but it is in "remote-tracking branches" (those ones that begin with "origin/"), which track the state of the remote repo00:54
and you can create local branches from those remote-tracking branches without having to fetch anything from the remote00:54
Ludwig47_ canton7, got it, that helps a lot00:55
canton7 coolies :)00:55
Swimming_Bird left00:55
Praise left00:57
ddkilzer left00:57
stringoO joined00:57
uso canton7: git reset --hard remotes/trunk just resets my master to the old (wrong) svn trunk, i need the opposite ;)00:57
Praise joined00:57
uso mugwump: git push . 539e402:refs/remotes/trunk is rejected by git00:57
! [rejected] 539e402 -> trunk (non-fast-forward)00:57
cmsalvad1 left00:58
cmsalvado joined00:58
sente what're peoples' preferred python/github integration modules00:58
phuzion joined00:59
uso oops, the last one was for Mikachu00:59
Mikachu -f00:59
uso Mikachu: this does not push anything to the svn repo, does it?01:00
Mikachu no01:00
uso ok01:00
canton7 left01:00
nevyn left01:00
iocor left01:00
drl left01:02
nevyn joined01:02
esya joined01:02
qian joined01:02
ChanServ set mode: +v01:03
esya Hi guys01:03
uso Mikachu: that worked01:03
esya I got a question.. Are some of you familiar with the github API ?01:03
Mikachu the git svn fetch too?01:03
omenar joined01:03
uso now how i can tell git-svn that it has to fetch from the older revision on?01:04
Mikachu: no :)01:04
Mikachu what happens if you just run git svn fetch?01:04
phuzion left01:04
uso nothing01:04
Mikachu hm01:04
esya I'm making a very useful ruby script to speed up pull requests & such.. But right now I need to have the password stored in plain text in my config file01:04
mugwump uso, did you delete the .git/svn dir?01:04
uso (the svn repo now has a new revisio01:04
esya Anyway I could use the certificate that is used to commit & fetch?01:04
uso mugwump: can i do safely?01:04
Mikachu uso: try rm .git/svn/refs/remotes/trunk/.rev_map*01:04
lars__ left01:05
mugwump yes, it's just a cache01:05
uso Mikachu,mugwump: looks good at a first view :)01:05
gilligan__ joined01:05
uso id a reread of revision list and fetched the last (now new) svn revision01:06
did*01:06
baburdick left01:08
billy_ran_away joined01:08
uso Mikachu, mugwump: git svn rebase also worked, guess i'm in sync again01:08
thank you all01:08
baburdick joined01:09
gilligan_ left01:09
johndo left01:09
Holo_Duke joined01:09
ag4ve_ joined01:10
johnanderson joined01:10
luke-jr joined01:10
luke-jr is there a simple way to search a branch's history looking for an object (file)?01:11
berserkr left01:11
luke-jr …nm, found it in HEAD >_<01:12
dv310p3r joined01:12
gchristensen left01:14
thorbjornDX is it possible to do a git subtree merge on a repository that has a single file in the root directory?01:15
kpreid joined01:15
ryanneufeld left01:15
johnanderson left01:15
disappearedng joined01:15
p3rror left01:16
disappearedng Hey if I have added a bunch of changes to my cache with git add, how do I restore them right now?01:16
drl joined01:16
disappearedng aka abanding unstaged changes01:16
kpreid you want to make the working tree have what the index has?01:16
nevyn left01:17
nevyn joined01:19
RandalSchwartz does cgit integrate with gitolite as well as gitweb?01:19
uso 2 files have been renamed upstream (svn), i have local changes for one of these files, git rebase tries to merge it into the wrong file01:20
is there any way to give git a hint to merge it to the other file?01:20
jaequery left01:20
jkyle_ joined01:22
stepnem joined01:24
ScottE left01:24
EricInBNE left01:25
billy_ran_away omg omg omg, i think i may be able to recover my work...01:26
I just found my work in a sha1 from this command, git fsck --no-reflog | awk '/dangling commit/ {print $3}'01:26
it's in a sha1 I think from a stash...01:26
tatsuya__ joined01:26
billy_ran_away I'm so scared...01:27
gebbione left01:28
tatsuy___ joined01:28
tatsuya_o left01:28
billy_ran_away Can anyone help walk me though this…?01:28
ceej left01:29
nevyn left01:30
uso billy_ran_away: if you don't have local changes save your work to a new branch: git checkout -b my_saved_work <your sha hash>01:30
Octalot left01:31
billy_ran_away uso: I have an added untracked file...01:31
err un-added01:31
tatsuya__ left01:31
uso stash it away or put it to a temp branch01:31
nevyn joined01:32
billy_ran_away uso: No local changes to save01:33
ag4ve_ left01:34
uso billy_ran_away: then you don't have an untracked file (or git ignores it)01:34
check with git status01:34
billy_ran_away # Untracked files:01:34
# (use "git add <file>..." to include in what will be committed)01:34
#01:34
# lib/interface_association_extensions.rb01:34
xiangfu joined01:35
preflex left01:36
the-fonz left01:36
preflex_ joined01:36
uso billy_ran_away: then create a temp branch and save that file to the temp branch01:36
alansaul left01:36
archis joined01:36
uso or copy it somewhere else if you don't trust git :)01:36
preflex_preflex01:37
billy_ran_away uso: I trust git, I just hate making branches...01:37
uso billy_ran_away: awww, that's the most fun in git ;)01:37
iheffner billy_ran_away: but branches are cheap and easy with git?01:37
RandalSchwartz a branch is only 41 bytes. :)01:37
iheffner s/?/!/01:37
billy_ran_away iheffner uso : I know but… I think I'm still confused on them...01:38
I get them… mostly01:38
nevyn left01:38
antoniojasr joined01:38
baburdick left01:38
EricInBNE joined01:38
alberto56 left01:38
rchavik joined01:38
baburdick joined01:39
the-fonz joined01:39
billy_ran_away How can I see the file edits of a commit?01:39
iheffner billy_ran_away: you can actually create a branch from that dangling commit and it won't be dangiling anymore: git checkout -b 'found_my_work' $sha_of_dangling_commit01:39
nevyn joined01:39
billy_ran_away iheffner: Okay I'm going to try that...01:39
iheffner billy_ran_away: to see the changes from a commit: git show <commit>01:40
billy_ran_away iheffner: It's not showing me the details of the file changes....01:40
lightcap left01:41
billy_ran_away So I accidentally did git checkout -b found_my_work # Untracked files01:41
avinashhm left01:41
billy_ran_away I did a paste thinking my clipboard had my sha1 commit in it...01:41
Instead it was my git status output...01:41
iheffner billy_ran_away: is the commit a merge commit?01:41
billy_ran_away iheffner: Yes01:41
thorbjornDX what did it do?01:41
TomyLobo joined01:42
billy_ran_away So it created a blank branch called found_my_work01:42
So now I want to do a git branch master01:42
thorbjornDX 'git checkout master', not branch01:42
iheffner billy_ran_away: what? no.01:42
billy_ran_away then a git branch -d found_my_work01:42
dankest left01:42
billy_ran_away ironically I did a git checkout master in my terminal but wrote the wrong command of what to do in irc01:43
cooloney joined01:43
billy_ran_away so now I've done a git checkout master, and now I need to delete my empty accidental branch, right?01:43
dv310p3r left01:43
diverdude left01:44
drl left01:44
iheffner billy_ran_away: yes, you can delete the branch you accidentally created.01:45
gavin_huang joined01:45
billy_ran_away What is this command showing me? git fsck --no-reflog | awk '/dangling commit/ {print $3}'01:45
And more importantly what order is it showing me them?01:46
thorbjornDX the part after the pipe is just getting the sha1 I believe01:46
(of dangling commits)01:46
billy_ran_away What's a dangling commit?01:47
kermit left01:47
kermit joined01:47
RandalSchwartz a commit that is not pointed at by one of the names01:47
and so eventually will be recycled01:48
in other words, pretty much what it says :)01:48
SethRobertson It can happen for good reasons and bad. only you can judge01:49
Rod joined01:49
iheffner billy_ran_away: going back to the question about seeing the changes of a merge commit: are you wanting to see what changes were merged in with that commit?01:49
billy_ran_away iheffner: I'm not sure… : )01:50
BTW I really appreciate everyone who is helping me.01:50
So I've got some dangling commits that seem to have some of my changes...01:51
But is there a way to list all commits, dangling, merges, or otherwise that change a particular file and list them by date?01:51
iheffner billy_ran_away: did you happen to do a git reset to some older commit at some point?01:51
d2dchat left01:51
billy_ran_away iheffner: Yes, with uncommitted changes in place, there were then lost...01:52
iheffner billy_ran_away: if you've got multiple dangilng commits, you should be able to create a branch and then cherry-pick them in.01:53
rrjamie joined01:53
rrjamie Is it possible to clone a repo, but not set up that remote you cloned from as origin? e.g., not have it all?01:53
iheffner billy_ran_away: the uncommitted stuff could be lost unless you at some point stashed or added the changes.01:53
billy_ran_away iheffner: I definitely did a stash at some point.01:53
iheffner: I just want to find the most recent stash...01:54
iheffner billy_ran_away: does 'git stash list' give you any?01:54
billy_ran_away iheffner: Nope, but I've been in screen so I think it may be from that...01:54
I read this: http://stackoverflow.com/questions/89332/recover-dropped-stash-in-git01:55
iheffner billy_ran_away: if not, you could change the /dangling commit/ to /stash/ (IIRC) to find lost stashes01:56
jaequery joined01:56
billy_ran_away iheffner: okay01:56
jrm2k6 left01:56
weiyang joined01:56
metcalfc left01:57
dreiss left01:57
drl joined01:57
ccushing left02:00
billy_ran_away maybe this a dumb question, but what's a tree?02:00
I know it's an object, but could I recover anything from it?02:00
eletuchy left02:00
ccushing joined02:01
SethRobertson A tree is a committed directory.. When you commit, you commit the state of the index, as represented by a directory tree.02:01
boombatower left02:01
SethRobertson billy_ran_away: man gitglossary02:01
gitinfo billy_ran_away: the gitglossary manpage is available at http://jk.gs/gitglossary.html02:01
boombatower joined02:01
dasil003 left02:02
iheffner billy_ran_away: looks like I was wrong about /stash/; those show up as dangiling commits02:02
dasil003 joined02:02
SethRobertson !jast02:02
mandric joined02:02
billy_ran_away iheffner: Okay02:02
jast SethRobertson: I'm not special anymore :(02:02
SethRobertson So where are the new commands?02:03
iheffner billy_ran_away: I just did a stash save / stash pop / fsck and the stash comes out as a dangling commit02:03
jast commands haven't changed for now02:03
billy_ran_away Okay so that one command I did is showing me all my stashs02:03
SethRobertson jast: Right, except that I used the web reference you put up to find them and that is dead02:03
jast new docs are at http://jk.gs/git/bot/02:03
SethRobertson thanks02:04
billy_ran_away I wish I could see date/time/stamps from git fsck --unreachable02:04
jast also linked from the channel page :)02:04
stepnem left02:05
iheffner billy_ran_away: for sha in $( git fsck --no-reflog | awk '/dangling commit/ {print $3}' ) ; do git show --stat $sha ; done02:06
tystr left02:06
billy_ran_away iheffner: Why the --no-reflog and not --unreachable?02:06
SethRobertson !work02:06
gitinfo sorry to hear it doesn't work. What did you want it to do? What happened instead? Did you get any error messages?02:06
SethRobertson .trigger_edit work 'Sorry to hear it doesn't work. What did you want it to do? What happened instead? Did you get any error messages?'02:06
gitinfo SethRobertson: okay.02:06
SethRobertson !work02:06
gitinfo 'Sorry to hear it doesn't work. What did you want it to do? What happened instead? Did you get any error messages?'02:06
SethRobertson Very nice02:06
iheffner billy_ran_away: just using the fsck you pasted earlier.02:07
billy_ran_away iheffner: okay02:07
iheffner: I need to figure out the difference in --no-reflog and --unreachable I think...02:07
dasil003 left02:07
iheffner billy_ran_away: it looks like something that is in the reflog and only in the reflog is considered reachable by default. The two are supplemental, it seems02:08
SethRobertson .trigger_edit commited_conf Committing configuration files which you need to locally modify is generally bad. See https://gist.github.com/1423106 for workarounds02:08
gitinfo SethRobertson: you are not authorised to perform this action (trigger_add).02:08
SethRobertson Sigh02:08
.trigger_edit work Sorry to hear it doesn't work. What did you want it to do? What happened instead? Did you get any error messages?02:08
gitinfo SethRobertson: okay.02:08
SethRobertson !work02:08
gitinfo Sorry to hear it doesn't work. What did you want it to do? What happened instead? Did you get any error messages?02:08
baburdick left02:09
baburdick joined02:09
nevyn left02:09
billy_ran_away iheffner: Okay cool, so what's the best way to cherry pick these different commits and why shouldn't I do this on the master branch?02:09
Why should I make a new branch?02:09
jast SethRobertson: see ! configfiles for something similar that already exists02:09
SethRobertson I will edit it to include the URL. I was actually thinking of making a gitslave entry02:10
nevyn joined02:10
jast feel free :)02:10
iheffner billy_ran_away: in case something goes awry. You can always make it look like there was never a branch there. (unless you push)02:10
SethRobertson jast: Did you authorize me? It said I wasn't allowed to add02:11
archis left02:11
SethRobertson .trigger_edit configfiles the recommended way is to change your application so that you can (perhaps optionally) store site-specific configuration/data in separate files, then keep those files out of version control. Still, see https://gist.github.com/1423106 for ways people have worked around the problem.02:11
gitinfo SethRobertson: okay.02:11
jast .priv sethrobertson trigger_add02:11
gitinfo jast: nuh-uh. invalid command.02:11
billy_ran_away iheffner: Okay cool, so I'm going to do a git checkout -b found_my_work fb62ccdb048a940b0ab25e94f47240991a8175b302:11
axl_ left02:12
SethRobertson .help02:12
ceej joined02:12
jast .priv add sethrobertson trigger_add02:12
gitinfo jast: okay.02:12
jast I don't have a help system yet02:12
SethRobertson I dunno. The help expert system seems to be working just fine so far.02:13
jast also my net connection went dead for a sec :)02:13
stepnem joined02:13
uso i can simply remove a misstyped ref, e.g. rm .git/refs/remotes/trun, right?02:13
is there an official way to do this, i.e. a git command?02:13
jast if the branch doesn't exist on the remote anymore, try git remote prune02:14
uso jast: is it save with git-svn too?02:14
*safe02:14
dagda joined02:15
jast it doesn't do anything for git-svn02:15
axl_ joined02:15
raythecat left02:15
jast what created the mistyped ref?02:15
billy_ran_away iheffner: git status doesn't show anything having changed on my new branch...02:15
uso my mistyped git push02:16
boombatower left02:16
iheffner billy_ran_away: what commands have you done and what were expecting to change?02:16
uso (as i tried to resync svn repo and my local git clone)02:16
jast was that a local push (git push . foo)?02:16
billy_ran_away git checkout -b found_my_work fb62ccdb048a940b0ab25e94f47240991a8175b302:16
Prasad joined02:16
billy_ran_away then a git status02:16
jast because otherwise this would have changed some remote git repository, too02:16
uso jast: git push -f . 539e402:refs/remotes/trunk02:17
boombatower joined02:17
billy_ran_away and it only shows my 1 untracked yet-to-be-added new file02:17
jamiep left02:17
uso jast: i asked if it changes anything in the svn repo :)02:17
jast uso: ah, right. in that case, yeah, just delete the ref file or use git update-ref -d02:17
iheffner billy_ran_away: take a look at 'git log';02:17
jswetnam joined02:17
jast uso: no, just adding a ref doesn't affect the svn part02:17
baburdick left02:18
billy_ran_away commit fb62ccdb048a940b0ab25e94f47240991a8175b302:18
Merge: 499ac27 c792a2202:18
Author: Bill Transue [email@hidden.address]02:18
Date: Mon Dec 5 09:59:35 2011 -050002:18
WIP on master: 499ac27 Add Functional Test to Schemes Controller for Comparing XML Import/Export02:18
herdingcat joined02:19
iheffner billy_ran_away: is that your lost commit? (I feel like I'm asking "Was this your card?")02:19
billy_ran_away iheffner: It close...02:20
iheffner: it was a commit i lost so as much as a non-commit after a git reset --hard sha102:20
uso jast: still somewhat hard to understand for me what git-svn does behind the curtains02:20
i'm not using git that long02:21
gitinfo left02:21
jswetnam left02:21
gitinfo joined02:21
ChanServ set mode: +o02:21
thorbjornDX left02:21
ChaoWang joined02:22
iheffner billy_ran_away: you may want to fix the log message on that commit with 'git commit --amend' so it doesn't read like the default stash log message. This is probably as close as you are going to get to recovering your lost work.02:23
gitinfo set mode: +v02:23
ottoshmidt left02:23
ChanServ set mode: +o02:23
billy_ran_away iheffner: Cool, thanks for your help.02:23
jast changed the topic to: 1.7.8 | http://git-scm.com | Please skim http://jk.gs/git/ before asking, or at least before giving up! | Getting a "Cannot send to channel" error? /msg gitinfo .voice02:23
jast set mode: -o02:23
iheffner billy_ran_away: Anything that was only on disk and was not hashed by some git action is going to be lost.02:23
jast let's see how well this is going to work out02:23
Prasad left02:23
SethRobertson .trigger_add gitslave gitslave (http://gitslave.sf.net) is useful to add a subsidiary git repositories to a git superproject when you control and develop on the subprojects at more of less the same time as the superproject, and furthermore when you typically want to tag, branch, push, pull, etc all repositories at the same time.02:24
Yuuhi``` left02:24
billy_ran_away iheffner: Can I get your help for a few more minutes?02:24
SethRobertson .trigger_edit gitslave gitslave (http://gitslave.sf.net) is useful to add a subsidiary git repositories to a git superproject when you control and develop on the subprojects at more of less the same time as the superproject, and furthermore when you typically want to tag, branch, push, pull, etc all repositories at the same time.02:24
gitinfo SethRobertson: you are not authorised to perform this action (trigger_add).02:24
SethRobertson 02:24
jast what :O02:24
billy_ran_away http://pastie.org/3008389 is my git status, relevant anyway...02:25
jast hold on a sec, gotta check this02:25
orafu left02:25
billy_ran_away I was trying to "undo" or just delete commit 499ac27fce22c3371564d0ff112dfd954a905c2002:25
SethRobertson Have you pushed?02:25
billy_ran_away me?02:26
SethRobertson yes02:26
billy_ran_away no02:26
I know it's wrong to do that...02:26
well everyone else would have to rebase or something...02:26
SethRobertson billy_ran_away: git rebase -i 499ac2^02:26
billy_ran_away so I've did a git reset --hard 499ac27fce22c3371564d0ff112dfd954a905c20 (and that's when I lost my work)02:26
AaronMT joined02:27
billy_ran_away but I want my commits after that...02:27
BiggFREE joined02:27
SethRobertson billy_ran_away: Did you recover those commits yet?02:27
antihero left02:27
billy_ran_away SethRobertson: As much as I can...02:27
SethRobertson: I got back until Dec 5…02:27
Which is better than November 18th...02:27
SethRobertson If you didn't recover everything we can still find them02:27
billy_ran_away SethRobertson: They weren't committed...02:28
mikepack joined02:28
billy_ran_away SethRobertson: I got them back from a stash I did back on the 5th...02:28
jast SethRobertson: working on getting this fixed. small oversight in the code...02:28
SethRobertson Oh, yes, well then you are screwed02:28
vptr joined02:28
billy_ran_away SethRobertson: Right, so now I'm just trying to clean up my mess in my git log and get my commits in order...02:28
SethRobertson: But I'm in over my head...02:29
SethRobertson billy_ran_away: So, after you have committed all commits, run the command I mentioned to get rid of the bad one02:29
marcuy left02:29
billy_ran_away SethRobertson: But here's the thing I didn't really commit the Dec 5th stuff02:29
madewokherd left02:29
oc80z left02:29
oc80z joined02:29
billy_ran_away SethRobertson: I just did git checkout -b found_my_work fb62ccdb048a940b0ab25e94f47240991a8175b302:29
nevyn left02:30
billy_ran_away which is the last thing in my git log...02:30
orafu joined02:30
Araxia_ left02:30
billy_ran_away SethRobertson: So is that a commit or not?02:30
SethRobertson billy_ran_away: OK, `git checkout branchyouwantiton; git reset --hard found_my_work`02:30
uso jast: could i have done that git push . <sha>:refs/remotes/trunk also by git update-ref remotes/trunk <sha> ?02:30
SethRobertson billy_ran_away: Anything where `git log` shows your complete history has been committed by hook or by crook02:31
Mikachu uso: yeah, but update-ref is plumbing02:31
jast uso: refs/remotes/trunk... but yeah (push checks for fast-forwardness by default, update-ref never does... that's the difference for local updates)02:31
billy_ran_away SethRobertson: Okay but my git log still looks the same, that is my HEAD~2 is still there02:31
uso Mikachu: still sounds more "safe" than a git push when you don't want to push anything :)02:31
billy_ran_away And my two ugly commits are still there02:32
gitinfo left02:32
nevyn joined02:32
billy_ran_away I did a git checkout master; git reset --hard found_my_work02:32
jast oh great, now it doesn't compile anymore02:32
SethRobertson billy_ran_away: OK. Now run the other command I mentioned. `git rebase -i 499ac2^`02:32
madewokherd joined02:32
billy_ran_away SethRobertson: And that will get rid of the 3rd to last commit?02:33
gitinfo joined02:33
ChanServ set mode: +o02:33
SethRobertson billy_ran_away: It will provide you a method to delete that commit and change the commit messages on the others02:33
billy_ran_away okay02:33
jast .user add SethRobertson02:33
gitinfo jast: okay.02:33
jast .priv add SethRobertson trigger_add02:33
gitinfo jast: okay.02:33
Mikachu billy_ran_away: do you want to remove the changes done in that commit, or just merge it with another commit?02:33
SethRobertson .trigger_add gitslave gitslave (http://gitslave.sf.net) is useful to add a subsidiary git repositories to a git superproject when you control and develop on the subprojects at more of less the same time as the superproject, and furthermore when you typically want to tag, branch, push, pull, etc all repositories at the same time.02:34
jast btw these commands work per privmsg, too02:34
Mikachu 'more or less' :)02:34
jast yeah, somehow it forgot to reply02:35
but the command succeeded02:35
Mikachu i meant the typo02:35
SethRobertson !gitslave02:35
gitinfo gitslave (http://gitslave.sf.net) is useful to add a subsidiary git repositories to a git superproject when you control and develop on the subprojects at more of less the same time as the superproject, and furthermore when you typically want to tag, branch, push, pull, etc all repositories at the same time.02:35
billy_ran_away Mikachu: I want to discard changes in the 3rd to last commit and merge the last two commits...02:35
towski left02:35
Mikachu billy_ran_away: okay, just run that command and read the comments in the editor02:36
jast oh, well, he didn't use the right command, that's why02:36
Mikachu it should explain everything02:36
SethRobertson jast: I switched to trigger_edit which replied and said it worked02:36
jast SethRobertson: yeah, figured that out myself now, too :}02:36
billy_ran_away Mikachu: It didn't, it only included the last two commits and they said the same thing anyway...02:36
nevyn left02:36
SethRobertson billy_ran_away: What didn't?02:36
billy_ran_away SethRobertson: That last command didn't really work out for me… it only showed the last two commits, which when I hit 'p' on them showed the exact same text...02:37
jast well, hopefully I have fixed up most of the core functionality now, so that plugin stuff can be reloaded without restarting the bot02:37
nevyn joined02:37
SethRobertson billy_ran_away: When you type `git log --oneline -n 4` you see the four commits you pasted before, in the same order as you pasted before?02:37
billy_ran_away so I did a :q! and then it said successfully rebased and updated ref/heads/master02:37
icwiener joined02:38
Vampire0_ left02:38
billy_ran_away No, now I'm missing the first one...02:38
Aaeriele billy_ran_away: p = pick = keep the commit as-is02:38
Vampire0 joined02:39
SethRobertson OK, run `git reset --hard found` or whatever that branch name was02:39
Aaeriele billy_ran_away: for what you want to do, you should02:39
git rebase -i 499ac2^02:39
then delete the line for the 3rd to last commit02:39
and change the line for the most recent commit to 'squash' (or 's')02:40
billy_ran_away SethRobertson: HEAD is now at fb62ccd WIP on master: 499ac27 Add Functional Test to Schemes Controller for Comparing XML Import/Export02:40
Aaeriele leaving the line for the second commit as 'pick'02:40
billy_ran_away Aaeriele: I'm trying to get rid of 499ac27^02:40
Aaeriele k, then you need to do git rebase 499ac27~202:40
SethRobertson billy_ran_away: Really? I thought you were trying to get rid of 499ac2702:40
Aaeriele (er, -i with that)02:40
billy_ran_away SethRobertson: I am.02:41
Aaeriele billy_ran_away: something^ is not the same as something02:41
shennyg joined02:41
jimubao joined02:41
Aaeriele something^ is the parent of something02:41
dv310p3r joined02:41
billy_ran_away Parent?02:41
Aaeriele the commit that came before it02:41
boombatower left02:41
SethRobertson billy_ran_away: So please run `git rebase -i 499ac27^` and paste the editor session that comes up02:41
billy_ran_away SethRobertson: Okay02:41
boombatower joined02:42
rrjamie left02:42
billy_ran_away http://pastie.org/300844702:43
jryans left02:43
SethRobertson Please quit and pastebin the output of ` git log --graph --oneline -n 4 `02:44
billy_ran_away SethRobertson: q!02:44
?02:44
SethRobertson sure02:44
billy_ran_away Cause that seemed to save it last time02:44
Which was not what I wanted : )02:44
SethRobertson Well, try ":q"02:44
billy_ran_away q! produced 'Successfully rebased and updated refs/heads/master.'02:44
jeff-h joined02:44
billy_ran_away it's vim right?02:45
jeff-h left02:45
SethRobertson You tell me02:45
It isn't for me02:45
billy_ran_away SethRobertson: "feels" like vim : )02:45
SethRobertson Please pastebin the output of ` git log --graph --oneline -n 4 `02:45
billy_ran_away I should do a git reset --hard found_my_work again shouldn't I?02:45
Before I do the git log --graph --oneline -n 402:46
SethRobertson Run the git-log before and after that command. It shouldn't change anything02:46
billy_ran_away okay02:46
worstadmin joined02:46
worstadmin How can I show an entire old version of a file, not just the diff?02:46
SethRobertson But it might, if those WIP commits are branches somehow02:46
jast to abort an interactive rebase, empty the editor, then save+quit02:46
quitting without saving means it does a no-op rebase02:46
SethRobertson worstadmin: git show HEAD^^:filename02:46
worstadmin What does the ^^ stand for?02:47
I know ~ means previous, right?02:47
Aaeriele worstadmin: replace HEAD^^ with the sha of the revision02:47
^^ means 'parent of parent'02:47
worstadmin Thanks02:47
billy_ran_away http://pastie.org/300846102:47
cmn first parent of first parent02:47
Aaeriele Seth was probably just using it as an example of an old rev02:47
SethRobertson ^^ == ~202:47
worstadmin Sha of current revision?02:47
SethRobertson SHA of the old revision you want to inspect02:48
worstadmin thanks02:48
jast I'd love to help more folks, but my connection is slower than analog right now, so it'd be extremely frustrating. so, I'm just gonna call it a day. good night! :)02:48
Aaeriele ciao jast02:48
SethRobertson Thanks for the privs02:48
billy_ran_away SethRobertson: http://pastie.org/300846102:48
jast you're welcome ;)02:48
I'll be handing them out by the dozens anyway02:48
billy_ran_away SethRobertson: it did change foe some reason...02:49
jast so don't feel too special yet!02:49
worstadmin Woo thank god02:49
it works02:49
Nearly lost a days work02:49
WOOOOOOO02:49
Aaeriele billy_ran_away: is that pastebin before or after a reset02:49
billy_ran_away Aaeriele: Both02:49
SethRobertson billy_ran_away: Before and after. The problem he has is that he has a branch.02:49
Aaeriele ah, right02:50
SethRobertson billy_ran_away: OK, I'm going to give you another approach. `git reset --hard b1b08e5; git cherry-pick c792a22 fb62ccd`02:50
billy_ran_away SethRobertson: Okay cool02:51
wbednarski joined02:51
SethRobertson billy_ran_away: Then `git rebase -i b1b08e5` and you can change the "p" to "r"02:51
dreiss joined02:51
billy_ran_away silky-johnston:strands(master) bill$ git reset --hard b1b08e5; git cherry-pick c792a22 fb62ccd02:52
HEAD is now at b1b08e5 Fix a Bug in Scheme's Vlans' Update With Order Association Extension02:52
fatal: Commit fb62ccdb048a940b0ab25e94f47240991a8175b3 is a merge but no -m option was given.02:52
ramsey joined02:52
SethRobertson billy_ran_away: Hmm. `git show fb62cc`02:52
Does it show that any files changed?02:52
billy_ran_away http://pastie.org/300846902:53
Yea it does02:53
but i didn't include those02:54
SethRobertson Huh? You pasted an empty commit02:54
Oh02:54
Something different that `git show c792a22`02:54
billy_ran_away didn't think it was relevant...02:54
SethRobertson Are the diffs on the two `show` commands different?02:55
billy_ran_away Yes, that last one didn't show any file changes.02:55
heppy joined02:56
SethRobertson Well, that's...odd02:56
Anyway, we can work with that.02:56
heppy left02:56
billy_ran_away I think c792a22 was my rollback commit...02:56
SethRobertson git reset --hard b1b08e502:56
dreiss left02:57
billy_ran_away HEAD is now at b1b08e5 Fix a Bug in Scheme's Vlans' Update With Order Association Extension02:57
SethRobertson billy_ran_away: Sorry, wrong order. `git reset --hard fb62cc; git reset --soft b1b08e5; git diff; git status`02:58
After running those commands, does the diff and/or status and/or the working tree show the result of what you did as of December 5th?02:58
billy_ran_away http://pastie.org/300848302:59
Jay_Levitt joined02:59
billy_ran_away SethRobertson: Yep I think so.02:59
nevyn left02:59
SethRobertson You might need to `git add` that untracked file.03:00
Only you can judge03:00
macmartine joined03:00
billy_ran_away SethRobertson: Yea, that was a change that never got lost fortunately.03:00
maletor left03:00
SethRobertson If everything is OK, then `git commit -a` and commit the files with the commit message you wish you had. Then `git diff fb62cc` and there should be no changes03:01
billy_ran_away SethRobertson: Okay cool.03:01
nevyn joined03:01
billy_ran_away Now as I catch myself back up to just keep adding commits with git commit --amend03:01
?03:01
SethRobertson Adding commits? Huh?03:01
billy_ran_away Or should I do separate commits and then squash them together?03:01
eletuchy joined03:01
SethRobertson What are you talking about?03:02
uso i've rebased my changes, dcommit has pushed them successfully ... looks like my git clone is in perfect sync with the svn repo again :)03:02
QaDeS joined03:02
uso thanks for the help03:02
bye03:02
billy_ran_away As I catch myself on the work I lost since December 5, should I just amend the last commit (the one I'm about to do), or separate commits and then squash them together?03:02
uso left03:02
macmartine left03:02
SethRobertson billy_ran_away: If it were me, I would make additional commits. When I was ready to push, I would look back and decide to squash or not at that point. Personally I would not bother.03:03
billy_ran_away Not bother to squash?03:04
SethRobertson But it is your repo and your workflow.03:04
Only in the most public and formal of projects would I bother to hide the sausage-making. Normally I commit early and often. You can fix that up later, but why bother?03:04
billy_ran_away It would be cool if you could squash commits together but "expand" them back to view them as separate commits if you needed to at a later time.03:05
cmn merge + log --first-parent ?03:05
SethRobertson billy_ran_away: For something like that StGit might kinda help you, but I would normally say you are doing it wrong.03:05
cmn if it has value to see the commits as separate entities, then don't squash them03:06
jryans joined03:06
SethRobertson Best advice03:07
wilmoore joined03:07
ajt left03:12
duckx left03:12
billy_ran_away SethRobertson: Thanks so much for you help!03:12
*your03:13
towski joined03:13
billy_ran_away Aaeriele and iheffner thanks for your help too!03:13
heppy joined03:15
namidark_ joined03:16
centipedefarmer joined03:18
deeunit joined03:20
ColKurtz left03:21
heppy left03:21
ehsan left03:23
deeunit left03:23
nicxvan left03:23
igotnolegs joined03:25
kerrick left03:26
nevyn left03:26
pheaver left03:27
bwright left03:28
nevyn joined03:28
shintaku joined03:28
shintaku for push.default. i don't get the difference between tracking and current. tracking seems to be to the upstream that is being tracked. where does current get pushed to?03:29
bwright joined03:29
shintaku does it mean any branch that has the same name, which could be upstream?03:29
cmn a branch in the remote that has the same name03:30
dr0id joined03:30
dorkmafia joined03:30
shintaku trying to figure out what the advantage of current is over just tracking03:30
cakehero left03:31
shintaku save you the initial -u on first push?03:31
cmn you may have several branches that tack the same branch03:31
a feature branch might track upstream/master for example03:31
dstorrs left03:31
towski left03:32
jkyle_ left03:32
shintaku in that case, you would want ?03:32
cmn that depends, probably matching03:33
shintaku what default do you use? matching just seems dangerous03:33
don't always want to push everything03:33
cmn matching is the default03:33
then change it03:33
how is it dangerous, though?03:33
shintaku if i'm in develop and do git push with default matching, it pushes master too if master needs to be pushed and matches?03:33
cmn if master is a descendant of origin/master, it'll get pushed03:34
drl left03:34
shintaku yeah, what if i wanted to squash my commits in that branch, but just haven't gotten around to it03:34
BiggFREE left03:34
cmn then you need to be carefeul03:34
shintaku heh03:34
cmn careful*03:34
if matching is not something that works for you, just change it03:34
shintaku yeah, i plan on changing it. just didn't know if i wanted tracking or current03:35
sitaram RandalSchwartz: there have been some patches to cgit to make it behave similar to gitweb, sent in by a gitolite user (and accepted). But this was a while ago, and I can't recall details now.03:35
cmn probably current03:35
I have aliases for 'push origin HEAD' and 'push upstream HEAD'03:36
AaronMT left03:36
beatak left03:36
cmn and I never use 'push' directly03:37
shintaku your dotfiles online?03:37
cmn no03:37
those aliases are just alias.poh = push origin HEAD03:37
pidus left03:37
cmn and alias.puh = push upstream HEAD03:37
but that relies on the way I name my remotes03:38
shintaku stupid question, but what's the difference between origin and upstream?03:38
last one too!03:38
thanks a lot, btw03:38
cmn one points to my repo, the other one points to upstream's repo03:38
those are just names03:39
origin is special only because that's what git uses by default to name the place you cloned from03:39
shintaku oh.. ok. origin is usually upstream in my case03:39
dreiss joined03:40
shintaku left03:41
baburdick joined03:42
rchavik left03:43
rchavik joined03:43
ehsan joined03:43
ramsey left03:45
wilmoore left03:46
duckx joined03:48
dys left03:48
asoltys left03:48
dys joined03:49
bassliner left03:49
dfr|mac joined03:49
shad left03:50
EricInBNE left03:52
fisted left03:52
dreiss left03:53
Rod left03:53
raythecat joined03:53
bigeye joined03:54
fisted joined03:55
f0i left03:56
bwright left03:56
dotnull left03:57
caseymcg joined03:58
bwright joined03:58
bigeye Hi, is there a way that CHANGELOG files can be auto-generated by git-tagging? or auto-git-tagging from CHANGELOG file is also okay.03:59
jimubao left04:00
secoif joined04:00
secoif left04:00
secoif joined04:00
shad joined04:02
notola joined04:05
wilmoore joined04:05
disappea_ joined04:06
EricInBNE joined04:06
offby1 I am pretty sure it's easy04:06
I seem to recall that Subversion had a way to generate them04:07
on the other hand, I imagine most git users don't bother with such files, since they're redundant04:07
Fandekasp left04:07
dfr|mac left04:08
btanaka left04:10
heppy joined04:10
remyo left04:12
mandric left04:14
cmxs joined04:14
infogulch left04:14
bigeye left04:15
amigojapan joined04:17
amigojapan left04:17
amigojapan joined04:18
ZyX-I left04:23
sustainableweb joined04:23
cybersphinx joined04:23
the_cybersphinx left04:25
pheaver joined04:25
secoif_ joined04:25
secoif left04:26
mikepack left04:26
mikepack joined04:26
nevyn left04:28
nevyn joined04:30
mikepack left04:31
omenar left04:31
Samoi left04:33
notola left04:33
esya left04:33
odolbeau left04:33
odolbeau joined04:33
pheaver left04:34
notola joined04:34
Samoi joined04:35
naee joined04:35
dreiss joined04:36
tb_ryan joined04:36
nevyn left04:38
icwiener left04:38
eean left04:39
secoif_ left04:40
nevyn joined04:40
ag4ve_ joined04:41
towski joined04:42
billy_ran_away I have more a use-case question, let's say I'm committing early, committing often, and I have a small one character bug fix for a commit 5 commits back, would you make a whole new commit? Or reset to that commit and amend it and reset back to head?04:43
angelsl joined04:43
pheaver joined04:44
pl0sh hey guys, I did git add . by mistake, but I havent commited yet, how can I revert it?04:44
billy_ran_away pl0sh: git reset .04:45
pl0sh thanks04:46
centipedefarmer left04:48
rockfruit billy_ran_away, if you havent pushed yet, 'git rebase -i origin/master' and follow the words. if you've pushed, then you get to make a silly 1 char fixup commit so everyone knows you didn't test before you pushed :>04:48
billy_ran_away rockfruit: Nope, haven't pushed04:48
rockfruit I use git rebase like that all day long - love it.04:48
billy_ran_away rockfruit: But I've made like 10 commits, the commit I want to amend is only like 5 commits back...04:49
rockfruit billy_ran_away, type the thing, read the words, rejoice in enjoyful gittitude04:49
billy_ran_away rockfruit: Okay… : )04:49
tb_ryan left04:49
d2dchat joined04:50
rockfruit just notice the part about "remove all lines to abort" if you get in trouble... and "git rebase --abort" to get all the way out of trouble so you can try again :)04:50
billy_ran_away rockfruit: Cannot rebase: You have unstaged changes.04:50
rockfruit first git add .04:50
billy_ran_away k04:50
rockfruit or git stash save04:50
niloc132 left04:50
vptr left04:51
anjen joined04:51
rockfruit my god, I've been with git for less than a month and I sound like the main kanony :>04:51
billy_ran_away rockfruit: Damnit, did a git stash and it moved my staged change too!04:51
rockfruit yeah should have committed that first... 'git stash pop' to get right back04:52
yippee hella yah!04:52
billy_ran_away rockfruit: Yea, so do a "fake" commit knowing I'll squash it with the other one04:53
harshpb joined04:53
rockfruit yipperss.. 50% of my commits are fakes04:53
wbednarski left04:54
JeremyWei joined04:54
rockfruit billy_ran_away, I kept this open for a week until I got it: reinh.com/blog/2009/03/02/a-git-workflow-for-agile-teams.html04:54
boombatower left04:54
proqesi` joined04:55
billy_ran_away rockfruit: Thanks!04:55
notola left04:55
rockfruit <3 git.. *wanders off singing quietly*04:55
amigojapan left04:56
Prasad joined04:56
Ludwig47_ left04:56
boombatower joined04:57
slonopotamus joined04:58
krishna left04:59
billy_ran_away rockfruit: Can I change the order of the commits in rebase -i?05:00
rockfruit I find it works better if I do the re-ordering in one rebase, and then rebase again for squashing05:00
feels more like I can keep a grip05:00
billy_ran_away rockfruit: Okay cool05:00
rockfruit i was lank surprised that it worked :)05:01
troyt joined05:01
slonopotamus rockfruit: take a look at --autosquash option05:01
spyronapdragon05:02
billy_ran_away rockfruit: Cool so I squashed and then moved that commit to the bottom of the pile, i.e. the last commit so as I fix more bugs I can just do a --amend.05:03
ag4ve_ left05:03
ben_alman left05:03
gusnan left05:03
billy_ran_away slonopotamus: What command is that argument for?05:03
pidus joined05:04
rockfruit billy_ran_away, for the exact thing you wanted to do :)05:04
nevyn left05:04
billy_ran_away rockfruit: I meant is it an argument for rebase or something else…05:04
slonopotamus billy_ran_away: git-rebase05:04
rockfruit yeah rebase05:04
ben_alman joined05:05
billy_ran_away I thought so05:05
nevyn joined05:05
jaequery left05:07
d2dchat left05:07
petteyg left05:07
sustainableweb left05:08
kukks left05:12
TandemAdam joined05:16
sgronblo joined05:17
glennpratt joined05:20
amgarching left05:22
amgarching joined05:23
nevyn left05:23
nevyn joined05:25
shiba_yu36 left05:26
anjen left05:27
TandemAdam Me and a mate have just started on a project using git, and bitbucket as a central server.05:27
He pushed some changes to master branch today, but when I do a `git pull bitbucket master` it says `already up-to-date`. I think I have committed changes to my local master. What could be wrong here?05:27
asoltys joined05:33
fisted_ joined05:34
Samoi left05:35
antoniojasr left05:35
fisted left05:37
maleknet joined05:37
Samoi joined05:40
ceej left05:43
nevyn left05:44
Drakonite left05:45
freimatz joined05:46
nevyn joined05:46
psoo joined05:47
eean joined05:50
naee left05:50
psoo left05:51
wilmoore left05:52
madewokherd left05:53
nadavoid joined05:53
igotnolegs left05:53
dorkmafia left05:53
brokenjames joined05:54
dorkmafia joined05:55
mikepack joined05:55
gitinfo set mode: +v05:55
dagda left05:55
dorkmafia hi everybody05:55
I have committed a change to my repository and pushed it and I now need to undo this commit05:58
how do I checkout a specific change set?05:58
bob2 erm06:01
likely you want git revert06:01
slonopotamus dorkmafia: suddenly, in git you checkout with 'git checkout'. though it won't help in your situation.06:01
ehsan left06:02
dorkmafia i used git reset —hard revnumber06:02
it seemed to have worked?06:02
bob2 that's not helpful06:02
dorkmafia is that the correct procedure?06:02
hexa2k9 left06:02
bob2 git revert is almost certainly what you want06:03
hexa2k9 joined06:03
slonopotamus (and here goes a link on why force-pushing changes is harmful)06:04
Prasad left06:04
OOPMan joined06:07
boombatower left06:07
welly left06:09
jhoepken left06:09
caseymcg left06:10
JohnBat26 joined06:11
amgarching left06:11
psakrii joined06:12
lightcap joined06:13
kenperkins joined06:14
nevyn left06:14
slonopotamus_ joined06:15
nevyn joined06:17
slonopotamus left06:17
amgarching joined06:17
neurodrone left06:18
csherin joined06:19
bindaasomatic joined06:20
jhoepken joined06:20
kcm1700 left06:21
Prasad joined06:22
BiggFREE joined06:22
dstorrs joined06:22
gusnan joined06:22
asoltys left06:23
arvind_khadri joined06:23
glennpratt left06:23
maletor joined06:24
marthinal joined06:27
mikepack left06:27
mikepack joined06:28
kcm1700 joined06:28
aidenhong joined06:30
QaDeS how can you elegantly ignore a commit when merging a branch? i have feature branches and want to start my application right into the screen where the feature is located, but i don't want this shortcut to be merged back into the master branch.06:30
mikepack left06:32
Gunni left06:33
Gunni joined06:35
dstorrs left06:36
toabctl joined06:37
_ikke_ QaDeS: Maybe a rebase or something?06:38
rebase -i06:38
Heisenmink joined06:38
tizzo-afktizzo06:41
flijten joined06:42
duckx left06:45
caseymcg joined06:45
j416 joined06:46
pheaver left06:46
ISF__ left06:48
nevyn left06:50
ldlework left06:51
daurnimator left06:52
nevyn joined06:52
jaequery joined06:54
rockfruit rebase your feature branch onto master.. something like 'git checkout feature; git rebase -i refs/heads/master'06:54
LongBeach joined06:55
hendry joined06:56
Jay_Levitt left06:56
hendry is it really this hard to restore a file i've accidentally deleted (not committed the change) http://stackoverflow.com/a/1113140/4534 ?06:57
nevyn left06:58
ReekenX joined06:58
_ikke_ You have to tell git where to get the file from06:58
BiggFREE left06:59
nevyn joined06:59
_ikke_ Because not every commit has the file06:59
ssaasen left07:00
stodan joined07:01
stodan left07:01
stodan joined07:01
caseymcg left07:02
j416 hendry: not committed, in that case you can simply do: git checkout -- yourfile07:02
hendry: it will grab the file from index.07:03
hendry: if it's not in index: git checkout HEAD -- yourfile07:03
hendry: to get it from the latest commit07:03
(if it's there)07:03
AAA_awright left07:04
AAA_awright joined07:06
isxek left07:06
GeorgeSebastian joined07:06
stodan left07:07
tizzo left07:07
hendry why git checkout -- yourfile and not simply `git checkout yourfile`... so cryptic ! :(07:07
sitaram hendry: the "--" is optional, but as a good habit you should use it. It separates file/dir names from branch names etc, in case the same name is used for both07:07
toabctl left07:08
stodan joined07:08
sitaram hendry: suppose you have a file called 'master'...!07:08
airborn joined07:09
eletuchy left07:14
_ikke_ hendry: the -- is a gnu standard07:14
most of the time it means don't process any of the following as a parameter07:14
kennethreitz left07:15
billy_ran_away left07:15
cbreak-work joined07:15
nadavoid left07:16
OOPMan left07:16
hendry git status reports `deleted: deviceapis/geolocation/geo-enabled/config.xml` but git checkout -- doesn't work with error: pathspec 'deviceapis/geolocation/geo-enabled/config.xml' did not match any file(s) known to git.07:16
subbyyy left07:16
nevyn left07:18
nevyn joined07:19
Error404NotFound joined07:20
Error404NotFound left07:20
Error404NotFound joined07:20
dzonder left07:20
dorkmafia left07:21
eean left07:21
yuwang joined07:21
_ikke_ git checkout HEAD -- path/to/file07:22
AAA_awright_ joined07:22
dzonder joined07:22
brokenjames left07:22
Error404NotFound now this is strange, git-fetch manual page exists and has a switch '-f, --force', i can't run git-fetch, bash complains of command not found, while -f or --force doesn't work with 'git fetch'07:23
Jay_Levitt joined07:23
arvind_k joined07:24
AAA_awright left07:24
_ikke_ try git fetch07:24
without the -07:24
hendry _ikke_: thank you ...07:24
_ikke_ hendry: Did it work?07:25
arvind_khadri left07:25
arvind_karvind_khadri07:25
towski left07:25
arvind_khadri left07:25
arvind_khadri joined07:25
Error404NotFound _ikke_: i was trying to force it so it doesn't give any warnings07:25
maletor left07:26
TrineLocke joined07:27
Jay_Levitt left07:27
hendry _ikke_: yes.. not sure why HEAD is needed07:27
the `git status` advice git reset HEAD <file>... is misleading07:28
nevyn left07:28
_ikke_ You have to read the whole message07:28
maletor joined07:29
wbednarski joined07:29
jryans_ joined07:30
towski joined07:30
nevyn joined07:30
Heimidal joined07:31
ReekenX left07:32
wbednarski left07:32
cli666 left07:32
jryans left07:32
jryans_jryans07:32
towski left07:34
hendry _ikke_: well undeleting is a more practical use case than unstaging imo07:35
nadavoid joined07:35
nadavoid left07:35
_ikke_ hendry: I unstage more often then undelete...07:35
sant joined07:36
jryans left07:36
nadavoid joined07:37
santv2 joined07:37
cli933 joined07:37
hendry sounds odd to me. why would you delete a file, the unstage that change, but still have the file removed?07:37
nadavoid left07:38
mastro joined07:38
papegaaij joined07:38
amgarching left07:38
Womkes joined07:39
nevyn left07:39
lightcap left07:39
amgarching joined07:40
_ikke_ hendry: Because that is what unstaging means07:40
not stage the change07:40
It doesn't do anything about the working tree07:40
nevyn joined07:41
maletor left07:41
eletuchy joined07:41
aidenhong left07:42
aidenhong joined07:42
h0bbit joined07:42
nevyn left07:42
cli933 left07:43
lapistano left07:43
brundleticks joined07:44
lapistano joined07:44
eean joined07:45
cmxs left07:45
airborn left07:46
cli162 joined07:46
_ikke_ hendry: Maybe read this: http://progit.org/2011/07/11/reset.html07:47
It gives some background information about how git handles this stuff07:47
Tyrope joined07:47
teweWork joined07:47
nevyn joined07:48
ph^ joined07:48
ChanServ set mode: +v07:48
Tyrope Greetings, I have recently started using git, and with 'using' i mean 'been trying to get it to work'. I want to make a local copy (pull?) a version from a repo hosted on github.com, I have an account that that has read-only access to said repo. Who would be patient enough to help me through this?07:49
stepnem left07:50
otakutomo joined07:50
h4ck3r joined07:51
santv2 left07:51
Tyrope I have installed both the git GUI and PuTTy07:51
gebi Tyrope: git clone <githum repo url>07:52
stepnem joined07:53
Dave^| joined07:53
Tyrope gebi: This goes in cmd?07:53
santv2 joined07:53
_ikke_ Tyrope: Maybe read some information about git: http://progit.org/book/07:53
it makes things a bit easier07:53
Tyrope: Yes07:53
you 'clone' a repo07:53
eean left07:54
Tyrope 'git' is not recognized as an internal or external command, operable program or batch file. *sigh* I guess i'll have to reinstall git.07:54
_ikke_ How have you installed it?07:55
with msysgit?07:55
Tyrope Been too long to remember.07:55
_ikke_ Tyrope: Ok07:56
BiggFREE joined07:56
batlock666 joined07:56
caseymcg joined07:56
jceb joined07:58
Tyrope There we go. *wonders where this saved to*07:58
w09x left07:58
slonopotamus_ left07:59
g0r_ joined08:00
TandemAdam left08:01
Tyrope Found it. Thanks, _ikke_08:02
Womkes left08:04
stepnem left08:05
danslo`work left08:06
ngulden joined08:06
bauruine left08:07
mishok13 joined08:08
sattu94 joined08:09
crashanddie left08:09
stepnem joined08:09
ReekenX joined08:12
dvide_ joined08:12
Womkes joined08:12
sant left08:12
santv2 left08:12
dvide left08:12
Rod joined08:13
papegaaij left08:14
stringoO left08:16
cwang joined08:16
xiangfu left08:17
papegaaij joined08:18
dpino joined08:20
stringoO joined08:20
Dave^|| joined08:22
dvaske joined08:24
brundleticks left08:24
Chib joined08:24
raythecat left08:24
eean joined08:26
Dave^| left08:26
Heimidal left08:26
shruggar joined08:27
jryans joined08:28
ThomasLocke joined08:30
JaggaKing joined08:31
g0r__ joined08:32
g0r__ left08:32
g0r__ joined08:32
JaggaKing left08:34
g0r_ left08:35
eno left08:38
eijk joined08:38
Macfiron joined08:39
Macfiron Hi!08:39
eno joined08:40
disappea_ left08:40
kadoban_ left08:41
karlk left08:42
disappe__ joined08:43
ssaasen joined08:43
Druid_ left08:43
ipalaus_ joined08:44
rockfruit left08:44
charon welcome :)08:46
rockfruit joined08:46
Druid_ joined08:47
yshh joined08:48
dirkle left08:49
Goplat left08:52
gebi left08:52
astrostl left08:54
Macfiron I was just about to ask a question, but a bit more conversation with aunt qoogle solved my riddle...08:54
google08:54
thanks for the welcome and bye *bow*08:55
ribasushi joined08:55
Macfiron left08:55
caseymcg left08:56
ericeatsbrains joined08:57
karlk joined08:58
PigeonFriend left08:58
jaequery left08:59
alansaul joined09:00
sitaram .oO(we're anthropomorphising web services now?)09:01
cwang left09:01
hendry left09:02
padams joined09:02
tewecske joined09:02
dropdrive left09:02
MariusKarthaus joined09:03
PigeonFriend joined09:03
dropdrive joined09:04
_md joined09:05
w09x joined09:05
_md left09:05
Corey_ joined09:06
albel727 why not? we're already anthropomorphising web browsers and operating systems, so it's a logical next step.09:07
amigojapan joined09:07
MariusKarthaus left09:09
phpIDE_net joined09:09
kriegerod joined09:09
spaceonline joined09:09
wereHamster do we?09:10
Corey left09:10
rue Yes, and naturally dehumanising the users.09:10
Davey_ joined09:12
txomon joined09:14
beepbeep_ joined09:15
comawhite left09:15
iPHP joined09:15
Sitethief joined09:15
beepbeep_ left09:15
txomon hi, I am trying to separate a subpath/subdir in a different repo, but with all branches on in. After reading docs, google etc. I got to this command: git filter-branch --prune-empty --tag-name-filter cat --subdirectory-filter <directory> -- --all09:16
but I am not able to move branches also09:16
iPHP_0verbythere09:17
Spockz joined09:17
Tyrope left09:17
txomon I want to completely split that <directory> to a new repo09:17
d0k joined09:17
crashanddie joined09:18
crashanddie left09:18
crashanddie joined09:18
txomon anyone can help me with that?09:18
BiggFREE left09:19
txomon also tried with git subtree split -P <directory> but still not getting the expected result...09:19
otakutomo left09:22
otakutomo joined09:22
otakutomo left09:23
Silex can I push only up to a certain commit?09:23
git push origin SOMESHA1 ?09:23
otakutomo joined09:23
_ikke_ Silex: Only by creating a branch09:23
Silex or maybe git push origin somesha1:branchname ?09:23
na3r joined09:23
ribasushi Silex: the last one yes09:23
dp left09:23
na3r hi, iwanted to pull from a repo but iget this error09:24
Silex err, so _ikke_ is "wrong"? :)09:24
na3r remote: fatal: unable to create thread: Cannot allocate memory09:24
ManDay joined09:24
_ikke_ Silex: No, because you are creating a branch09:24
na3r error: git upload-pack: git-pack-objects died with error.09:24
_ikke_ Silex: But only on the remote09:24
na3r why?09:24
Silex _ikke_: how so?09:24
_ikke_ na3r: To little memory09:24
Silex "branchname" already exists on the remote no?09:24
_ikke_ Silex: Because a commit does not 'exist' unless there is a branch pointing to it09:24
na3r Silex, yes09:24
_ikke_ well09:24
Silex: Something09:24
at least09:25
na3r _ikke_, what should i do?09:25
Silex _ikke_: I don't get your point. I did git clone foo, then made N commits, but only want ot push N-1 commits because the last one is subject for amending/rewrite09:25
nevyn left09:26
Silex so if I do something like "git push origin master^1:master"09:26
brian_g joined09:26
Silex apparently it'd work09:26
txomon anyone knows about my question about splitting the repo?09:26
Silex where is the brnach creation there??09:26
ribasushi Silex: yes this is correct and will work, _ikke_ is being pedantic09:26
_ikke_ ribasushi: No, i'm not being pendantic09:26
Silex ribasushi: probably ;) thank you09:27
harshpb left09:27
Silex _ikke_: does "git push origin a:b" create a branch b every time?09:27
(on the remote)09:28
ribasushi Silex: it does if it doesn't exist yes09:28
Silex yes of course09:28
but not if it already exist09:28
fermo joined09:28
wereHamster if it exists, it updates the branch09:28
Element9_work joined09:28
Silex which is why I don't understand the "only by creating a branch" comment09:28
nevyn joined09:29
ribasushi Silex: a branch is nothing more than a label "branch X are all commits starting from Y back"09:29
dp joined09:29
Silex yes I know :) anyway, _ikke_ probably meant "only by creating/updating a remote branch"09:29
thanks09:30
adrien__ left09:30
jryans left09:30
txomon I will keep waiting, if someone knows about the answer...09:31
raythecat joined09:31
comawhite joined09:32
pavelz_ left09:32
whitman joined09:32
Silex txomon: not sure if I can help, but what does it mean "I cannot move branches" ?09:32
means the command you tried only works for the current branch?09:32
_ikke_ Silex: I meant something like that yeah. I meant that there has to point a branch to it09:33
txomon Silex, Its about moving a subpath to a new repo09:33
_ikke_ so either create a new one or indeed update another one to point to it09:33
txomon it only moves the master branch09:33
thought -- --all09:33
Silex txomon: a wirld guess: checkout the other branches, repeat?09:34
wild*09:34
jrydberg_ left09:34
_ikke_ txomon: -- --all makes no sense, because after -- no options can come anymore09:34
FauxFaux But what if you have a file named --all!09:34
_ikke_ FauxFaux: That wouldn't make sense either :P09:34
Silex txomon: http://stackoverflow.com/questions/359424/detach-subdirectory-into-separate-git-repository09:35
is that what you want?09:35
txomon Silex, it finally worked... yep with a for a in `git branch -r | awk -F/ '{print $2}'| sort -u`; do git checkout $a; done09:35
"for a in `git branch -r | awk -F/ '{print $2}'| sort -u`; do git checkout $a; done "09:36
bauruine joined09:36
tatsuy___ left09:38
johnathanb joined09:39
FauxFaux Is "git for-each-ref --format="%(refname)" refs/remotes/" really the best porcelain way to plumbing git branch -r?09:40
yshh left09:41
stealthii hi there. I was performing a large clone of an svn repo which froze during the night due to running out of memory ($ git svn clone --stdlayout svn+ssh://svn/svn/centra/ centra-fetch)09:42
is there any way of continuing from where it left off?09:42
harshpb joined09:43
wereHamster stealthii: cd into the repo and git svn fetch09:43
Rod Hi, silly question, what's the command to completely replace my branch with whats on the remote repo?09:44
stealthii or rebase? both return the following:09:44
well first here is the tail of the git clone: http://pastebin.com/pU9Dnhne09:44
EugeneKay Rod - man git-reset09:44
gitinfo the git-reset manpage is available at http://jk.gs/git-reset.html09:44
EugeneKay You're interested in --hard remote/branch09:44
FauxFaux (Or --hard @{u}.)09:45
Zephyrus left09:45
stealthii wereHamster: fetch/rebase: http://pastebin.com/MCH3irVr09:45
kermit left09:45
Rod will that also delete extra files that shouldn't be there?09:45
kermit joined09:45
wereHamster stealthii: try to delete the tag09:45
papegaaij left09:45
stealthii wereHamster: in SVN? or in my clone?09:46
wereHamster stealthii: your git clone09:46
papegaaij joined09:48
Pupeno joined09:48
txomon Silex, I found a bug (to my opinion) in git filter-branch. When you use the command """git filter-branch --prune-empty --tag-name-filter cat --subdirectory-filter <dir> -- --all""" you cant use <dir>/ you have to put it as a file so ABC instead of ABC/. Is that intentionally done?09:48
heeton_ joined09:50
thrope joined09:50
heeton_ Say I have 'development', both on github and locally. Is it cool to rebase it against master and then push again?09:50
i.e. 'git rebase master' , 'git push origin development'09:51
yshh joined09:51
thrope hi folks... I just converted some branches to tags (was from an svn import) and now in the remote I hae every tag twice.. once as refs/tags/release-0.1 on the correct commit and again as refs/tags/release-0.1^{} on a different commit09:52
_ikke_ heeton_: You can do it (you have to push -f)09:52
txomon heeton_, I dont thats a good way09:52
thrope any ideas what the ^{} means or where it comes from?09:52
_ikke_ heeton_: But if anyone has made changes based on development, they are getting a mess09:52
thrope (it is not critical I can just delete the remote and start again but I wanted to understand)09:52
wereHamster thrope: delete those refs that you don't need09:52
drev1 left09:52
heeton_ What's a cleaner way to do it then? Assuming many people might be working on both branches09:52
txomon heeton_, the idea of rebasing is intended to be used when not having shared the branch09:52
stealthii thanks wereHamster. That's resolved the problem for now :)09:52
p3rror joined09:52
Vile joined09:53
txomon heeton_, look progit book09:53
_ikke_ txomon: git does that also with the pu branch09:53
codebeaker joined09:53
_ikke_ txomon: It's regularly push -f'ed09:53
canton7 joined09:53
honchu_ joined09:54
kedare joined09:54
Bass10 left09:54
txomon heeton_, page 6909:54
61*09:54
the idea is to rebase commits that never have been published09:54
heeton_ txomon: I don't have the book, but the site, do you have a section name?09:54
Ok, I see09:55
txomon heeton_, http://progit.org/ebook/progit.pdf for the book, or http://progit.org/book/ch3-6.html for the article I mentioned09:55
_ikke_, its a very bad way in general to use --force or -f options, the lesser you use the safer your repo will be09:57
honchu left09:57
khmarbaise joined09:57
weiyang left09:57
Prasad left09:59
Prasad joined10:00
txomon thrope, try with svn2git10:00
shiba_yu36 joined10:00
txomon it converts svn tags to real git tags10:00
thrope txomon: I used that, but in the sample rules files it reccomends not to do that and to do them as branches10:00
Prasad left10:00
txomon thrope, !?10:01
thrope txomon: anyway it is fine now I just wondered what the ^{} meant and wehre it came from10:01
Prasad joined10:01
herdingcat left10:01
chris_ joined10:01
thrope txomon: in the rules file it says "This rule will create tags that don't exist in any of the branches. It's not what you want. See merged-branches-tags.rules file" - so I used merged-branches-tags10:02
txomon sry, no idea about that, but I have been using svn2git in very large repos with lots of svn branches and lots of more tags, and its just... very helpfull and space saving10:02
Weust`Weust10:03
thrope yes I used svn2git and it worked well10:03
txomon thrope, which svn2git are you using? I haven't found that note in the official maintainer's repo https://github.com/nirvdrum/svn2git10:04
yshh left10:05
eletuchy left10:05
codebeaker left10:05
thrope txomon: oh that is the ruby svn2git... I am using the svn2git from KDE project - svn-all-fast-export I guess10:05
heeton_ left10:06
saschagehlich joined10:06
raythecat left10:07
txomon thrope, I used the one I mentioned and has just all the options one would need to migrate10:07
thrope it doesnt work on my repo due to some renaming issue10:08
kmc joined10:08
dr_lepper left10:08
txomon why? you can choose the nonstandar layout10:08
thrope the svn-all-fast-export is very good and customisable... as I said I had no problem in the end with svn import I just have a question about tags10:08
dr_lepper joined10:08
ColKurtz joined10:09
txomon I just was telling you about an alternative, with the one I mentioned I can help you about migrating10:09
ColKurtz how can i create a default remote for 'git push' and 'git pull'10:10
chris_ left10:10
ColKurtz i initialized my repo locally, and now i want to push it to my github account10:10
ChrisAnn joined10:10
ribasushi what are the low-level tools that git-merge calls?10:11
otakutomo left10:11
ribasushi I can't seem to find an "action-map"10:11
Ambriely joined10:11
Ambriely left10:11
txomon ColKurtz, git config push.default10:11
ColKurtz ty txomon10:11
caseymcg joined10:12
Weust left10:12
txomon ribasushi, not sure about what I am telling you, but I think its the lower level, then there is the C world10:12
heppy left10:12
ColKurtz should i name my remote 'origin' to keep things conventional?10:12
txomon ColKurtz, I don't but its up to you, me for example, have for github github one, work etc.10:13
ribasushi txomon: no, there got to be other lwoer level commands, like the stuff you direct to create commits out of thin air during filter-branch10:13
Weust` joined10:13
ribasushi I need to create merge-commits in a headless repo10:13
ColKurtz txomon: but it is generally a somewhat conventional default, right?10:13
txomon ColKurtz, the more descriptive thing you are the lesser you have to remember10:13
ColKurtz well i only push to github10:14
txomon ColKurtz, origin is named by git to specify the source of you repo10:14
ColKurtz so is this kosher10:14
git remote rename github origin10:14
txomon ColKurtz, its up to you10:14
ribasushi, no idea sry, never tried10:15
ColKurtz j,10:17
Castorr left10:17
Castorr joined10:17
svm_invictvs left10:17
ColKurtz txomon: git config push.default looks like it has to do with branches, not remote repos10:18
Weust` left10:18
txomon ColKurtz, uops, well, I think it defaults when there is just one remote, if not... let me check10:19
Ameshk joined10:20
Ameshk left10:20
JeremyWei left10:20
stringoO left10:22
glcrazy joined10:22
jpeasy joined10:24
txomon ColKurtz, defaults to origin, then branch.remote10:25
man git config10:25
gitinfo the git-config manpage is available at http://jk.gs/git-config.html10:25
t4nkd left10:26
ColKurtz txomon: git config branch.<name>.remote <remote>10:26
txomon yep10:27
ColKurtz now10:27
what does git push -u do10:27
man git push10:27
gitinfo the git-push manpage is available at http://jk.gs/git-push.html10:27
jryans joined10:27
ColKurtz set's upstream10:27
killnine joined10:27
ColKurtz so, that would make the github repo the upstream repo10:28
which is probably what i want10:28
noisebleed joined10:28
noisebleed left10:28
noisebleed joined10:28
selckin joined10:28
ColKurtz Aha10:29
amigojapan left10:29
killnine Hi! I've a commit that looks like (on github): "aderuwe authored about 12 hours ago, aderuwe committed 16 minutes ago". Is this because of the git push --force that I did? (I added a commit to a PR, squashed it and the previous commit together and then force pushed). Should I be worried about this?10:29
ColKurtz using git push -u to set the upstream flag automagically does the git config branch.<name> remote <remote> thing10:29
sweeeeet10:30
:D10:30
now time for a cig10:30
and bed10:30
txomon xD10:30
bye!10:30
cmn killnine: what about that has you worried?10:30
ColKurtz shiyet it's 2:30 am10:30
:'('10:30
hope i can wake up10:30
txomon ColKurtz, you dont need to, just dont get into bed ;D10:30
cmn (other than the fact that you've overwritten public history)10:31
txomon is doing offtopic10:31
killnine cmn, I haven't seen commits like this before, I think? Is it a normal byproduct of forcing a push, after commit --amend or squashing some commits?10:31
cmn like what?10:31
different author and commit dates?10:31
killnine Basically it usually says (I'm talking the github commit list thingie here) as "aderuwe authored about 12 hours ago" - now it looks like "aderuwe authored about 12 hours ago, aderuwe committed 16 minutes ago"10:32
cmn so yes?10:32
that's probably because you squashed10:32
the authorship information got retained, but git had to create a new commit10:33
killnine cmn, so I don't need to worry about this as long as I am unsure no one was working of off the initial commit?10:33
sure*10:33
argh10:33
caseymcg left10:33
dvaske Hi, any short command to find the commit with most parents?10:33
cmn there is nothing wrong with having different author and commit dates10:33
Mikachu dvaske: octopus merges are not recommended.. why do you want to know? :)10:34
killnine Thank you for the info cmn10:34
cmn screwing everyone else over can happen when you rewrite public history (by push --force)10:34
but those are completely different topics10:34
whitman left10:34
rockfruit left10:35
achadwick joined10:35
dvaske Mikachu: I'm writing an importer (fast-import) from another system, and here every commit is a branch, so I try to simplify it but it would be cool to measure progress ;)10:35
FauxFaux "every commit is a branch" MFW.10:35
dvaske Jep10:36
Abbaduxo joined10:36
Abbaduxo left10:36
Mikachu every commit is a potential branch in git too ;)10:37
dvaske: nothing comes to mind except counting the Parent: lines in each commit10:37
cmn it would involve looking at every single commit in the repo... so 'short' it's not10:38
dvaske It's Synergy (IBM) and a commit corresponds to a tasks, except you only have patches in a task, no state of a tree, no paths to the changes file... it is f**ked up10:38
Mikachu i guess 'eyeball it in gitk' isn't the right answer10:38
FauxFaux dvaske: git rev-list --all | while read line; do printf "$line %d\n" $(git cat-file commit $line | grep '^parent ' | wc -l); done # horribly inefficeint way.10:38
dvaske Mikachu: ok, just trying my luck ;)10:38
phryk joined10:38
dvaske FauxFaux: yes, but in one line ;)10:39
adiabatic joined10:39
Mikachu FauxFaux: won't that sum all the parents of all commits?10:39
dvaske: that is one line10:39
FauxFaux git log --min-parents=6 # perhaps.10:39
_ikke_ FauxFaux: Which definition of MFW were you using? http://www.urbandictionary.com/define.php?term=MFW10:39
ChanServ set mode: +v10:39
dvaske Mikachu: yep that was what I meant - might not have been clear though10:40
arvind_khadri left10:41
dvaske Thanks, I'm off to lunch10:41
phryk I have alittle problem adding a user to gitosis. I added this users ssh-pubkey into the keydir and added him to a group in the gitosis.conf, committed and pushed the config. But this user is still getting prompted for a password.10:41
FauxFaux !gitosis10:41
gitinfo gitosis is no longer maintained and supported by the author; we usually recommend gitolite instead which has much better documentation and more features: http://github.com/sitaramc/gitolite10:41
txomon phryk, move to gitolite10:41
jryans left10:41
FauxFaux phryk: They've almost certainly got their ssh keys wrong. Read all the documentation on debugging ssh key failures, notably get them to ssh -vvv git@host # and glare at the output.10:41
Mikachu git log --format=%P this will output all parent hashes on one line10:41
canton7 left10:41
Mikachu so it's just a matter of finding the longest line10:42
dvaske: ^10:42
toobluesc left10:42
replore left10:42
txomon phryk, If ssh key has pass, he will be asked for that pass10:42
phryk ooh lawd10:42
csherin left10:42
phryk I'm a moron.10:42
FauxFaux Nicely done, Mikachu.10:42
phryk Got the key from an email. With linebreaks.10:42
Mikachu FauxFaux: it's amazing the things you can come up with if you check the man page10:42
csherin joined10:43
andrewebdev joined10:43
FauxFaux Mikachu: I don't have time for that! UNIX will save the day!10:43
txomon anyone can explain me what makes doing " rm -rf .git/refs/original " ?10:43
toobluesc joined10:43
FauxFaux txomon: Read the end of man git filter-branch10:44
gitinfo txomon: the git-filter-branch manpage is available at http://jk.gs/git-filter-branch.html10:44
dasil003 joined10:44
Lemon|work joined10:44
Lemon|work left10:46
rockfruit joined10:46
txomon FauxFaux, so the refs are the references to the commits of each origin's branch? and I am removing them doing that... Why can't I just make the git reflog --expire=now all ?10:47
ribasushi txomon: if you care to know the answer http://book.git-scm.com/7_raw_git.html10:47
Mikachu FauxFaux: well, i found it in the linux repo10:47
Merge branches 'x86/apic', 'x86/cleanups', 'x86/cpufeature', 'x86/crashdump', 'x86/debug', 'x86/defconfig', 'x86/detect-hyper', 'x86/doc', 'x86/dumpstack', 'x86/early-printk', 'x86/fpu', 'x86/idle', 'x86/io', 'x86/memory-corruption-check', 'x86/microcode', 'x86/mm', 'x86/mtrr', 'x86/nmi-watchdog', 'x86/pat2', 'x86/pci-ioapic-boot-irq-quirks', 'x86/ptrace', 'x86/quirks', 'x86/reboot', 'x86/setup-memory', 'x86/signal', 'x86/sparse-fixes', 'x86/time', 'x86/uv'10:47
hurikhan|Work joined10:47
khmarbaise left10:47
canton7 joined10:48
cmn was that Linus' way of testing octopus merges?10:49
drl joined10:49
Mikachu ingo did that10:49
here's the zsh solution, print -l ${${(f)"$(git log --format=%H\ %P)"}//#%(#b)(?(#c40) )(*)/$#match[2]: $match[1]}|sort -n10:49
cmn what a brave man10:49
txomon ribasushi, not very clear there...10:50
ribasushi txomon: git commit-tree10:50
proqesi` left10:51
txomon ribasushi, going to read the progit section to see if i'm able to understand from there how does it work10:51
Mikachu the biggest in git is just Merge branches 'jc/checkout', 'jc/format-patch', 'jc/octopus', 'jc/sb' and 'jc/clone'10:51
bartman left10:52
ribasushi txomon: this particular link I gave you - just read it from the beginning, it basically walks you through how git commit -a -m does it smagic from the ground up10:52
rockfruit left10:54
gusnan left10:54
txomon ribasushi, but doesn't explain what .git/refs/ contains10:54
ribasushi txomon: errr I meant the answer to my original question :)10:55
arvind_khadri joined10:55
arvind_khadri left10:55
arvind_khadri joined10:55
rendar joined10:55
cmn txomon: $GIT_DIR/refs contains the references, which are branches and tags10:56
txomon ribasushi, ahhh yep xD in the progit book you also have all the git internal commands explained, its more complete10:56
kmox83 joined10:56
Rod left10:57
Prasad left10:57
EugeneKay left10:58
bartman joined10:59
EugeneKay joined10:59
ribasushi bah10:59
phryk Okay, I tried with 2 machines and 2 users now and it simply doesn't work. The last key i just scp'ed, so it definitely is correct. Still I get the password-prompt…10:59
pixelboy_ left10:59
ribasushi I can't find a clean way to get the tree id associated with a commit10:59
halp?10:59
thiago joined11:00
ChaoWang left11:00
cmn doesn't log's pretty-format let you do that?11:00
amigojapan joined11:00
Mikachu ribasushi: git rev-parse thecommit:11:01
ribasushi Mikachu: tree id, not commit id11:01
Mikachu ribasushi: :11:01
berserkr joined11:02
Mikachu you can also use thecommit^{tree} if you don't like :11:02
ribasushi ahhhh11:02
pielgrzym joined11:02
ribasushi Mikachu: sorry, misread, thanks!11:03
pasky left11:03
Mikachu yw :)11:03
Anaeluxo joined11:03
Anaeluxo left11:03
Mikachu you can also get the hash of subtrees that way, thecommit:somedir11:03
(or any blob)11:03
ribasushi Mikachu: I can't find this documented in rev-parse - am I stupid?11:04
Mikachu it's probably documented somewhere else11:04
pielgrzym hi, I'm keeping in each release annotated tag (like v1.2) a message with changes to previous version. I can do a bulk display with: git tag -l "v*" -n 10, but how can I show the annotated tag message for a given tag only (full message, not n lines)11:04
Ambriely joined11:04
cmn with shwo11:04
show*11:04
Mikachu actually it is documented in rev-parse, but it's a bit cryptic11:04
ribasushi Mikachu: right, it documents <rev>:<path> but not <rev>:11:04
Mikachu yeah, / is empty <path> :)11:04
crashanddie left11:05
Ambriely left11:05
dvaske Mikachu: I was away to lunch, thanks for the input!11:05
JohnBat26 left11:06
cortana` joined11:06
vdv joined11:07
pielgrzym cmn: how to disable diff and date/tagger stuff?11:07
jdav_gon` left11:08
cmn man git show11:08
gitinfo the git-show manpage is available at http://jk.gs/git-show.html11:08
cmn or maybe it's in man git log, look at the format options11:08
gitinfo the git manpage is available at http://jk.gs/git.html11:08
pfsmorigo joined11:08
Mikachu pielgrzym: git cat-file -p thetag11:08
pielgrzym Mikachu: thanks!!11:09
Mikachu maybe show is better after all11:09
cmn doesn't cat-file show the tagger and date as well?11:09
Mikachu yeah11:10
mklappstuhl joined11:10
phryk The keys for the newly added gitosis users don't show up at all in ~/.ssh/authorized_keys …11:10
Mikachu but it also follows the tag11:10
i mean show does11:10
pielgrzym cmn: it does, but I can cut this off with another cmd, browsing through the git show man (what I did before asking) needs much more experimentation :) I'm trying to write a generate-changelog zsh script :)11:10
GeorgeSebastian left11:10
drl left11:11
pasky joined11:12
cmn there is a long list under PRETTY FORMATS which tells you exactly what you get11:12
pielgrzym --format="%s"11:12
seems to work, but I can't get rid of diff :)11:12
cmn -s11:13
JohnBat26 joined11:13
pielgrzym cmn: thanks!11:13
jdav_gone joined11:13
andrewebdev left11:18
crashanddie joined11:18
rockfruit joined11:22
drl joined11:23
mabrand joined11:25
pielgrzym actually not using format shows only tag message :) git show v0.51 --pretty=format: -s11:25
otherwise it will also include commit message at the bottom (via %s)11:26
Mikachu doesn't this still show the tagger etc at the top?11:26
pielgrzym yes11:27
mabrand left11:27
cmn isn't there something like %(tag:message) ? or is that just internally?11:27
pielgrzym I was tinkering with format, but this was only formatting the commit msg11:27
txomon phryk, did you solve your problem? If not, I can help you setting up gitolite if you want11:27
LimeBlast joined11:28
ribasushi Mikachu: what about the least evil way to extract a commit message (to be fed to STDIN of git-commit-tree)11:29
pielgrzym cmn: I'm wondering about a treeish. at the bottom of git-show manpage there is: git show v1.0.0^{tree}11:29
doesn't work for {tag} though :D11:29
AAA_awright_ left11:29
AAA_awright joined11:29
Lemon|work joined11:29
phryk txomon: Next week is my last week at this job. Plus I'm a developer, not an admin.11:30
Also afaik gitosis is preinstalled by our provider, not sure though.11:30
cmn pielgrzym: you can't peel /to/ a tag11:30
a tag exists at the top11:30
txomon phryk, if you wanted I could help you, its really fast11:31
pielgrzym ah11:31
phryk txomon: I'll keep that in mind for my next job. There I'll be setting up the vcs :P11:31
But now my problem is that gitosis just ignores the users/keys I added today…11:31
Mikachu pielgrzym: show is already passed the tag hash, that's why it can show both11:31
phryk It does rebuild the authorized_keys file when I push gitosis-admin. But it simply ignores these users…11:32
txomon maybe post update hook not working (not really know about gitosis)11:32
pielgrzym Mikachu: I think I'll give up to force git cut this message and just use zsh to cut them anyway :)11:32
phryk txomon: post update hook?11:32
txomon that gitolite, it works via a git repo xD11:32
ognevsky_ joined11:32
txomon in gitosis must be something similar, try putting traces11:33
phryk 'putting traces' ?11:33
pielgrzym Mikachu: git show v0.51 --pretty=format: -s | more +311:33
:D11:33
diverdude joined11:34
txomon in the execution of the update process, or in the accessing process, you can put echos between executables11:34
arvind_khadri left11:34
txomon phryk, debug traces I meant11:34
diverdude Is it possible to "unfork" a repo on github?11:34
_ikke_ diverdude: Nope11:35
pielgrzym or even simpler: git show v0.51 --pretty=format: -s | sed "/Tagger/d"11:35
iocor joined11:35
diverdude _ikke_, and delete a repo?11:35
_ikke_ diverdude: Yes11:35
txomon yep11:35
ognevsky left11:35
_ikke_ diverdude: You can delete it and recreate it11:35
diverdude where do i delete it11:35
phryk txomon: I still don't quite understand. What should I debug? gitosis? git? my local ssh client?11:35
_ikke_ diverdude: Hmm, maybe it was possible by contacting github11:35
txomon diverdude, https://github.com/account/repositories11:35
phryk Also I've never really used a debugger before…11:35
_ikke_ diverdude: On the administration page11:35
txomon phryk, try first with the ssh client, if it successfully logs into server, then try with gitosis11:36
gitinfo set mode: +v11:36
diverdude _ikke_, yeah i was there but i didnt see a place to delete11:37
_ikke_ Are you the owner?11:37
phryk txomon: Well the ssh client does not log into the server obviously, since the key doesn't get into the authorized_keys file on the server…11:37
_ikke_ diverdude: It's in the "danger zone"11:37
txomon phryk, ok, so the pub key is denied?11:37
diverdude _ikke_, no i just forked it11:37
phryk Yes. That's why I get a password-prompt.11:38
diverdude _ikke_, i dont own the main repo...but i own the fork11:38
_ikke_ diverdude: You should be able to delete the fork then11:38
txomon phryk, so lets move on #ssh11:38
ribasushi so anyone one getting the commit message short of `git log -1 --pretty="format:%B" <commititsh>` ?11:38
phryk txomon: Dude, this has nothing to do with ssh,11:38
ribasushi which looks horrible :(11:38
diverdude _ikke_, hmm i dont see where11:38
_ikke_ diverdude: On the options tab, at the bottom there is a section called "danger zone"11:38
With a red box11:38
phryk ssh works just fine. gitosis fucks up when rebuilding the authorized_keys files after I commited into the gitosis-admin repo.11:38
bremner did we have !gitosis yet?11:39
gitinfo gitosis is no longer maintained and supported by the author; we usually recommend gitolite instead which has much better documentation and more features: http://github.com/sitaramc/gitolite11:39
txomon but if he rebuilds the authorized_keys, it should be succesfully done11:39
ssaasen left11:39
_ikke_ bremner: Yes11:39
FauxFaux bremner: Yes, we already had !gitosis. ¬_¬11:39
txomon bremner, he cant move on11:39
nevyn left11:39
bremner k11:39
GeorgeSebastian joined11:39
pantsman joined11:39
pantsman left11:39
pantsman joined11:39
diverdude _ikke_, hmmm i dont see it...it should be here right? http://cl.ly/321K1M17100b2d3l1x0d11:40
envi_ left11:40
txomon phryk, so, how is the authorized_keys ?11:41
phryk txomon: Should… yes.11:41
txomon: Well it's technically correct. Just the users I added today don't show up at all.11:41
nevyn joined11:41
diverdude _ikke_, ?11:41
_ikke_ diverdude: You need to go to the page of the repository itself11:42
txomon phryk, so you get logged on11:42
_ikke_ diverdude: which one do you want to delete?11:42
diverdude the one called lessphp11:42
phryk No, since the keys are not in the authorized_keys file i am not getting logged on.11:42
txomon if using ssh pub key, once authenticated, you have logged on, and the problems is from gitosis11:42
_ikke_ http://github.com/diverdude/lessphp/admin11:42
txomon ah ok, so the auth file is not updated is it?11:42
secoif joined11:43
phryk Let me give you a short summary of what the current state is.11:43
dv310p3r left11:43
FauxFaux phryk: 1) gitosis is screwing you due to a bug that's never going to be fixed. 2) You're repeating this fact until you find someone willing to take your money to fix it?11:43
diverdude _ikke_, ahh yes i wonder how you found that11:43
_ikke_ If you go to the repo, there is a button called admin11:44
diverdude _ikke_, ahh right i found it myself now11:44
phryk FauxFaux: No I'm just not sure that txomon understood what problem I have…11:44
envi_ joined11:44
phryk FauxFaux: Also I don't know if it's a bug or some fault in another place.11:44
txomon phryk, I think I did, gitosis doesn't update correctly the authorized_keys file11:44
FauxFaux phryk: Well, have fun investigating that.11:44
phryk txomon: The file does get rewritten, I tried adding the key manually which worked, but when I push gitosis-admin another time, the manually added key is lost again.11:44
txomon: Ah okay, then we are both on the same wavelength^^11:45
_ikke_ phryk:11:45
oops11:45
txomon phryk, so you have to debug how gitosis updates your auth file11:46
and find the bug11:46
phryk Ah okay. So I have the choice of debugging an obsolete product and maybe fix it, for which I would need to fiddle around on the server anyways.11:47
So gitolite should be much less of a hassle.11:47
Acriax joined11:47
dv310p3r joined11:47
txomon yep11:47
mklappstuhl left11:48
txomon and setting up gitolite, migrating everything etc, can be done in 1h11:48
phryk Another great discovery: I have no clue how they installed gitosis. But it sure as hell was not through the package manager…11:48
pidus left11:48
arvind_khadri joined11:48
FauxFaux phryk: Always a good sign. :)11:48
phryk FauxFaux: Yeah, totally. Just what I needed in the last 1.5 weeks of working at this company…11:49
Is there a migration guide somewhere?11:49
Acriax Hi, I'm having trouble figuring out .git/info/exclude. I've added a line there which I want to exclude locally, but the file is already staged. If i do git rm --cached on it, it wants to delete the file from the repo too11:49
Is there some way I can remove the file from the staging area without removing it from the repo?11:49
I just want it to be unsynced basically. I don't want to see it with the status. :P11:50
FauxFaux Acriax: No, that kind of thing is unpossible. There's various hacks but they're all horrible.11:50
Acriax Oh okay.11:50
txomon phryk, check http://sitaramc.github.com/gitolite/migr.html11:51
phryk Thanks.11:51
txomon and join #gitolite11:52
phryk Not yet. I'll still have to talk to my boss about that.11:52
txomon phryk, I confirm you that the gitosis post update hook is the problem, as it uses a very similar way to gitolite11:53
Torne joined11:54
dv310p3r left11:54
Adaptee joined11:54
roland joined11:55
Torne anyone know of a script/recipe to find out who is responsible for changes in a branch? I'm currently looking at doing git diff upstream...ourbranch and using the line numbers in the patch output as input to blame, but the plumbing involved is irritating. Hoping someone's done something similar before :p11:55
Davey_ left11:55
_ikke_ Torne: git blame?11:55
Torne: Although, not sure if that's scriptable11:56
Torne i'm looking to attribute 88,000 lines of changes to people :p11:56
nevyn Torne: so you just want diffstat?11:56
per person?11:56
Torne Yes, basically11:56
nevyn isn't that what shortlog does/11:57
ISF__ joined11:57
Torne no; i want the *current* differences, not everything that's ever been changed11:57
txomon Torne, git log <file> ?11:57
Torne many things have previously been different and have subsequently been un-forked to now be the same as upstream11:58
Acriax left11:58
Torne i have an overall diffstat as a progress meter for this work, but i'm looking to break it down by whose changes need looking at11:58
txomon: no, see above; i only care about what is currently different, not all work previously done11:59
txomon or git diff HEAD HEAD^11:59
and by git log you know who is the responsible11:59
use gitk12:00
Torne you are missing the point entirely12:00
i have thousands and thousands of commits12:00
we are merging weekly from upstream12:00
we are actively working on unforking code12:00
the log is completely useless12:00
it describes history, not the current state of things12:00
ph^ left12:00
hobodave left12:00
yatiohi left12:01
kooll left12:01
koollman joined12:02
kleech joined12:03
drl left12:03
marthinal left12:03
txomon Torne, so you have commited changes? I don't see why you cant use gitk12:04
khmarbaise joined12:04
Torne think of this like a todo list. Our goal is to ahve no differences from upstream. I want to be able to show each downstream committer which lines/files/directories *they* have caused to differ from upstream, so that they can look at how to eliminate that difference.12:05
phryk Now my boss might want me to setup a subversion server…12:05
Torne the actual commits in history are not useful; many of them have already been upstreamed or reverted or otherwise eliminated12:05
nevyn phryk: nooo!!!12:05
Torne what i want is what nevyn said: a diffstat, broken down by committer12:05
i can produce the diffstat in total trivially: git diff --stat upstream...us12:06
txomon phryk, you definitely should be there12:06
Torne i can also find out who did something with blame12:06
txomon shouldn't12:06
Torne but i want to script this end to end to be able to run it repeatedly on our very large tree :)12:06
kettle joined12:06
esya joined12:06
johnathanb left12:06
stealthii hi. Does git-svn support SVN 1.7.0 yet? Our company may be upgrading soon and I wish the git mirror would not break12:07
phryk txomon: where?12:07
txomon in that work12:07
Mikachu stealthii: it works fine here12:07
phryk Where he wants to use svn?12:07
I am glad I am about to go :D12:07
txomon which is the main point of your boss to going to svn?12:07
dv310p3r joined12:07
phryk txomon: Sadly enough, he doesn't like the "lite" in "gitolite"…12:07
stealthii Mikachu: what version of git are you using? latest?12:07
txomon phryk, kernel.org is using it12:08
Mikachu stealthii: no, 1.7.5.412:08
phryk txomon: I'll bring that up.12:08
txomon the lite refers to the work to be maintained12:08
stealthii Mikachu: ok, thanks.12:08
txomon phryk, before you go,12:08
phryk But in all sincerity, I don't give a flying fuck anymore. I'm currently the only inhouse developer for this company (web agency) and boss doesn't even consider hiring another one after I'm gone…12:09
Mikachu stealthii: i only use it for read access, i don't commit to svn with it, so i can't promise that part works :)12:09
txomon phryk, http://sitaramc.github.com/gitolite/who.html12:09
phryk This company is just going to collapse after me anyways…12:09
Mikachu stealthii: but there's no reason it shouldn't12:09
nixmaniack joined12:10
txomon Torne, why not to use git cherry-pick ? and if you want to just find differences, git fetch origin <branch> ; git diff origin/master master12:11
I think that would work12:11
Torne i know how to generate a diff12:12
the diff is 88000 lines12:12
ngulden left12:12
Torne I need to split that up amongst 100 people :)12:12
mjt maybe it's better to refer them to a git repository? :)12:13
Nugget_ left12:13
Torne yes, they are working on the repo; i don't literally mean sending them parts of a diff12:13
this is about tracking who has to do what work12:13
txomon Torne, and why not use a workflow like the one in kernel.org?12:13
Torne because our changes are *bad*12:13
we are not interested in upstreaming the commits we have made12:14
Nugget joined12:14
Torne they are a series of hacks piled on other hacks12:14
we are looking at what we have changed, and then writing new, sensible, single-feature-change patches to submit to upstream12:14
then when those get merged back we can eliminate our crap code12:14
:)12:14
txomon so, use submodules12:14
Torne argh12:15
you are completely missing the point12:15
we have a perfectly good process for upstreaming our code12:15
i am trying to make a status dashboard; that's all12:15
nevyn so that's still 880 lines each. which isn't that bad.12:15
if you've really got 100 dev's12:15
Torne nevyn: the point is to work out who changed what and have them work on their own code12:15
not just to split it up arbitrarily12:15
drl joined12:16
Torne see my very first comment: what i'm looking at doing right now is using the line numbers in the diff as input to git blame, to find out who created each hunk of the diff12:16
txomon so why not eachone rebase the upstream in their work?12:16
Torne but thsi is a bunch of really fiddly plumbing12:16
txomon I understand what you mean, but I cant think a better fix...12:17
slonopotamus joined12:18
nevyn Torne: so can you rebase your tree onto mainline?12:18
or are you doing real merges?12:18
Torne real merges12:18
nevyn eww12:19
vptr joined12:19
Torne we have tens of thousands of commits12:19
and have been forked for 18+ months12:19
rebasing is impossible12:19
babilen left12:19
txomon cherrypick?12:19
Torne cherrypick *what*?12:19
nevyn it's no more difficult than the merge12:19
Torne ..yes it is12:19
rebasing commits we made 18 months ago onto a version of upstream that's 50000 commits further ahead than when we made those changes is basically impossible12:20
__iron joined12:20
Torne merging upstream's changes a week at a time is much easier :)12:20
Ryback_ joined12:21
Ryback_ left12:21
Ryback_ joined12:21
psakrii left12:21
txomon torbenh3, http://schacon.github.com/git/user-manual.html#submitting-patches12:21
Torne, i meant12:22
wereHamster Torne: how many commits are you rebasingA?12:22
Torne wereHamster: ten thousand or more12:22
dozens of people's work for over a year :)12:22
this is why i'm *not* rebasing them12:22
:)12:22
wereHamster so you're rebasing 10k commits to a new brnach which is 50k away from the original branch?12:22
Torne No12:23
I'm not rebasing anything12:23
nevyn he's not12:23
Mikachu wereHamster: that's what these people are telling him to do, for some reason12:23
Torne people are suggesting irrelevant things to solve a problem that i don't have12:23
nevyn he's doing periodic merges from mainline into his tree.12:23
Torne and i'm explaining why they are irrelevant :)12:23
vptr left12:23
Torne aanyway. it seems like the answer to my actual question is "No, nobody knows a better way" :)12:24
_Qman joined12:24
txomon i said merge, you said you needed to distribute work, i said cherry pick (you can distribute work), i said rebase in their own work12:24
no more ideas sry12:25
Torne i'm not asking *how* to distribute work12:25
txomon so use cherry pic12:25
each developer will know which are their files12:25
Torne ..er, no they don't12:25
that's crazy talk :)12:25
nevyn Torne: the point is that if you had rebased rather than merged over time. then you'd have a clear path between upstream and your changes12:25
Torne i really don't see how that would improve anything12:26
txomon Torne, and what about this http://stackoverflow.com/questions/3509419/git-diff-with-author-filter ?12:27
akher0nakheron12:27
ribasushi will re-ask: anyone knows of a less icky way of retrieving a commit message? All I can come up with is `git log -1 --pretty="format:%B" <commitish>`12:28
ribasushi ?12:28
HDroid left12:28
txomon ribasushi, the problem is that it is a long command?12:29
ribasushi no, that it invokes the log, limits it by -1 and shit - there got to be a more direct way12:29
__iron left12:30
csherin left12:31
Mikachu it's not like 'invokes the log' is some big magical thing12:31
txomon ribasushi, specify an alias...12:31
crashanddie left12:31
ribasushi Mikachu: it is more shelling out12:31
txomon: this is for a high freq batch job, nothing to do with cmd size12:31
Mikachu i don't think that even means anything12:31
brunov joined12:31
muneeb joined12:32
Torne git log -1 is not generating the whole log and then only printing part of it; it just only looks at one commit to start with12:32
arvind_khadri left12:32
muneeb left12:32
brunov left12:32
Mikachu and git-log is a builtin command, no shell is involved12:32
Torne whatever intuition you have that this is "icky" or inefficient is probably wrong, unless you've benchmarked it12:32
txomon Torne, did that helped?12:32
brunov joined12:32
Torne txomon: no. it's more or less the same question, but the answers are useless :)12:33
Mikachu ribasushi: you can use --format=%B, that's a bit shorter ;)12:33
saves some time on parsing maybe12:33
txomon Torne, you will have to try the git mailing list12:33
Torne ribasushi: git show --format="%B" <commitish> probably "seems" more efficient, but 1) it doesn't appear to be and 2) git show on a commit prints the diff as well, whatever format you specify, so the output is not what you want :)12:34
just use log.12:34
ribasushi a "no better way" answer would have sufficed12:34
Mikachu you can use -s to suppress diff output, but log is still better imo12:34
Torne txomon: no, i'll have to just write the script myself, ohwell :p12:35
ribasushi `git show --format="%B" -s` looks much more self explanatory, and feels "right" :)12:36
revoof joined12:36
ribasushi I'll go with that12:36
Mikachu it's probably slower though12:36
pidus joined12:36
ribasushi oh? :)12:36
txomon Torne, dont forget to share it ;D12:37
drl left12:37
Torne It's invoking diff-tree's logic still, which the log won't be :)12:37
diff-tree will just print nothing because of -s12:37
revoof hi. "git pull slow-network-remote <accedantely hit tab>" is really slow and annoying. is there a way to disable tab completion there or (even better) cache the remote branches?12:37
Mikachu ( repeat 1000; do; git log -1 --format=%B > /dev/null; done; ) 0.81s user 2.50s system 87% cpu 3.791 total12:37
( repeat 1000; do; git show --format=%B -s > /dev/null; done; ) 0.87s user 2.63s system 80% cpu 4.319 total12:37
that's a very small commit12:37
Chaser_ joined12:38
orafu left12:38
orafu joined12:38
Chaser_ left12:39
ph^ joined12:39
otakutomo joined12:41
Fangorn_ left12:42
crashanddie joined12:42
crashanddie left12:42
crashanddie joined12:42
Torne left12:42
herdingcat joined12:46
dreiss left12:47
Fangorn_ joined12:47
drl joined12:49
glcrazy left12:49
g0r__grefab12:49
shiba_yu_ joined12:49
shiba_yu36 left12:51
ribasushi Mikachu: point made12:51
w09x left12:51
mklappstuhl joined12:52
cilly joined12:53
thrope i have some changes saved with git stash and I can list them but I am ahving trouble applying them12:53
spaceonline left12:53
babilen joined12:53
thrope when I try to do git apply I just get the same output as git status12:54
and nothing seems to happen12:54
neurodrone joined12:54
ribasushi ok last part of the puzzle - is this the correct way to create a new branch from a commit `git update-ref refs/heads/<branch_name> <commitish>`12:54
Mikachu git branch branchname commitish12:55
pidus left12:55
ribasushi Mikachu: bare repository12:55
Mikachu does this not work in a bare repo?12:55
ribasushi indeed it does, but I need an "update or create"12:56
cilly left12:57
otakutomo left12:58
otakutomo joined12:58
martinjlowm joined12:59
otakutomo left13:00
otakutomo joined13:00
iocor left13:01
pidus joined13:01
Lemon|work left13:01
Lemon|work joined13:01
_ikke_ ribasushi: git branch -f branchname commit13:01
Lujeni left13:02
finlandia_vodka joined13:03
KRF left13:03
andref_dias joined13:03
KRF joined13:04
alansaul left13:04
Lemon|work_ joined13:05
Andrei666 joined13:05
Lemon|work left13:05
Lemon|work_Lemon|work13:05
ramusara joined13:05
Adaptee left13:05
spetrea joined13:06
spetrea test13:06
hi, through some unfortunate chain of events I ended up having two branches with the same name. I noticed that if I do git branch -a -v I get a list of all branches with respective sha1-s for each of them. Now can I delete a branch using the sha1 I got from git branch -a -v ?13:06
otakutomo left13:06
HDroid joined13:06
Mikachu um, can you paste the two branches from the output of git branch -a?13:07
otakutomo joined13:07
Mikachu oh, does one show up with 'git branch' and the other with 'git branch -r'?13:07
spetrea Mikachu: sure, a moment please13:07
remotes/origin/feat/ui_tabs f42816f JSLint warning fix13:08
aidenhong left13:08
spetrea remotes/origin/feat/ui_tabs 20c5fdb re-added test13:08
Mikachu: these are the two branches13:08
sorry for pasting in the channel13:08
Mikachu two lines is okay ;)13:08
so what about the other question?13:09
spetrea Mikachu: yes, first one shows up as a local branch, second one is remote13:10
teweWork left13:10
Lujeni joined13:10
Mikachu okay, and which of them do you want to delete?13:10
i presume the local one13:10
spetrea I guess the local one yes13:10
Mikachu git branch -d refs/heads/remotes/origin/feat/ui_tabs should do it13:10
or maybe -D13:10
spetrea Mikachu: hold on, I'm trying this out13:10
Lemon|work left13:11
Lemon|work joined13:11
spetrea Mikachu: error: branch 'refs/heads/remotes/origin/feat/ui_tabs' not found.13:12
louiz I know that git:// is faster than http://, but is it also better than doing pushs and fetchs over ssh?13:12
jsick3 joined13:13
pfsmorigo left13:13
Mikachu spetrea: hrm, weird, look around a bit in .git/refs13:13
mjt hmm, http over ssh?13:13
phryk Solution to my former prob (Discovered by accident): filenames of the keyfiles have to end with .pub13:13
spetrea Mikachu: oh wait, it worked with -d13:13
Mikachu ah13:13
louiz mjt: no, just ssh. Like git clone git@server:testing.git13:13
What is faster : git:// or plain ssh?13:14
or am I confused?13:14
tatsuya_o joined13:14
spetrea I also have another problem13:14
erichynds joined13:14
mjt do you have speed issues?13:14
spetrea I'm trying to git checkout -b --track ui_tabs remotes/origin/feat/ui_tabs13:14
louiz not really, that’s just out of curiosity13:14
spetrea but it says "git checkout: updating paths is incompatible with switching branches."13:14
I searched all over stackoverflow and some other blogs and couldn't find the cause of this13:15
namidark_ left13:15
tatsuya_o left13:15
nevyn left13:15
diogogmt left13:15
charon spetrea: that parses as '-b --track', newbranch=ui_tabs, filenames=remotes/origin/feat/ui_tabs13:17
nevyn joined13:17
shruggar1 joined13:18
na3r left13:18
charon spetrea: you should write it as 'git checkout --track -b ui_tabs remotes/origin/feat/ui_tabs'13:18
spetrea charon: ah, thanks ..13:18
charon though unless you have specifically disabled it, the --track is enabled by default13:19
spetrea charon: that was quite subtle , I couldn't have figured that out on my own, thanks :)13:19
shruggar left13:20
drl left13:21
gavin_hu_ joined13:21
dharrigan left13:22
gavin_huang left13:23
Heisenmink left13:23
kettle left13:23
johnathanb joined13:24
dvaske Mikachu: Back from a bunch of meetings...13:24
glennpratt joined13:24
dvaske Mikachu: Clearly I need to optimize some of the octopus merges merge13:24
Mikachu: 146 3738e20fbb18394ff8248c2518e589c4502a383613:25
finlandia_vodka left13:25
dvaske Mikachu: so 146 parents...13:25
Mikachu dvaske: are you sure?13:25
dvaske yep!13:25
Mikachu my zsh command outputs the number of bytes13:25
but then, it also had a colon13:25
WhiteHorse left13:25
Mikachu that's an exciting merge then13:26
dvaske oh, yea' I just used the git log --format="%H %P" and parsed that through awk etc...13:26
WhiteHorse joined13:26
Mikachu 146 is a weird number then, it's not divisible by 41 :)13:26
cooloney left13:27
dvaske Arhh thats the problem...13:27
Mikachu you only asked for the commit with the most parents, not the number of parents :)13:27
dvaske yes, but I thought some parsing probably would be needed ;)13:28
johnathanb left13:29
johnathanb joined13:29
billy_ran_away joined13:30
GeorgeSebastian left13:30
johnathanb left13:32
johnathanb joined13:32
yshh joined13:32
drl joined13:34
nevyn left13:34
khmarbaise left13:34
billy_ran_away left13:35
johnathanb left13:36
brunei joined13:36
ericbarnes joined13:36
nevyn joined13:36
dvaske left13:37
subbyyy joined13:37
subbyyy left13:37
subbyyy joined13:37
brunei left13:38
harshpb left13:39
drl left13:39
louiz joined13:42
ceej_ joined13:42
subbyyy left13:42
tommyvyo_ joined13:42
subbyyy joined13:43
dv310p3r left13:43
ManDay left13:43
kennethreitz joined13:43
sattu94 left13:44
PabloM joined13:45
preinheimer joined13:46
antoniojasr joined13:46
bartek joined13:46
lapistano left13:47
jrm2k6 joined13:47
lapistano joined13:47
nevyn left13:48
neiraza joined13:49
nevyn joined13:50
jeppy left13:50
akosikeno joined13:50
jeppy joined13:50
revoof left13:50
xiangfu joined13:51
drl joined13:51
dharrigan joined13:54
Heisenmink joined13:56
dvide_ left13:57
AaronMT joined13:57
w0bni joined13:57
neurodrone left13:57
nevyn left13:58
subbyyy left13:58
lb joined13:59
gavin_hu_ left14:00
nevyn joined14:00
niloc132 joined14:01
drl left14:02
pidus left14:04
txomon left14:05
pagameba left14:05
pagameba joined14:05
beaufour joined14:05
deeunit joined14:06
icwiener joined14:06
astrostl joined14:06
zi left14:06
Prasad joined14:07
Bass10 joined14:07
txomon|nqas joined14:07
teweWork joined14:09
Womkes_ joined14:09
Womkes left14:09
nevyn left14:09
nevyn joined14:10
jasonbray joined14:10
fisted_ left14:10
kennethreitz left14:10
Womkes_ left14:13
Womkes joined14:13
grefab left14:14
Prasad left14:14
ceej_ceej14:14
grefab joined14:14
Prasad joined14:14
bartek left14:14
bartek joined14:15
alberto56 joined14:15
anjen joined14:15
ColKurtz left14:15
alan_w joined14:15
drl joined14:16
ColKurtz joined14:16
raythecat joined14:16
Castorr left14:17
Hounth joined14:17
maleknet left14:18
lnostdal left14:18
anjen left14:19
whitman joined14:20
andref_dias left14:23
weiyang joined14:23
xiangfu left14:25
fisted joined14:25
centipedefarmer joined14:26
icwiener left14:26
icwiener joined14:27
ehsan joined14:27
drl left14:28
ipalaus_ left14:29
diverdude The free github account is with 0 private repos right?14:30
FauxFaux Yes.14:30
diverdude :/14:30
if there could be just one14:30
kedare left14:30
FauxFaux gitorious or bitbucket offer free private repos, but they're terrible. You get what you pay for, obviously. :)14:31
diverdude FauxFaux, why is bitbucket terrible?14:31
PerlJam FauxFaux: what he said14:32
FauxFaux Feel free to try it. /me self-hosts, so can't really comment.14:32
diverdude FauxFaux, you self host git?14:33
PerlJam uses bitbucket, but only just barely.14:33
FauxFaux gitolite + gitweb for public stuff + etc.14:33
diverdude PerlJam, i was considering making a private repo at bitbucket and public ones at github...can that be done?14:33
PerlJam diverdude: sure14:33
(that's what I do in fact)14:34
nixmaniack left14:34
diverdude PerlJam, ok, nice...and thats working out great?14:34
mastroWork joined14:34
PerlJam diverdude: yep. but so far I've only got one repo in bitbucket and I don't use it as extensively as the ones on github yet.14:35
neurodrone joined14:35
PerlJam (which is why I was interested in FauxFaux's statement. Maybe there's something I need to watch out for)14:35
dfr|mac joined14:36
diverdude lets say then i have directory myapp with a lot of subfolders. myapp i want to have private, and to include all subfolders and files. now, within som of the subfolders i have some components which i actually want to share on public github. Is it possible to set it up like that?14:36
adiabatic left14:36
diverdude kind of nested repo structure14:37
PerlJam diverdude: sure. one mechanism would be to use submodules for the public github stuff.14:37
diverdude with public repos as part of a larger private14:37
PabloM diverdude, submodules?14:37
mastro left14:37
icwiener left14:38
icwiener joined14:38
diverdude aha...submodules. interesting. I should look into that. Any good URL on those?14:38
bartek left14:39
_rich_ joined14:39
freeed joined14:39
bartek joined14:39
fisted left14:39
jpeasyt4nkd14:39
n8o-mba joined14:39
drl joined14:41
babilen left14:41
freeed Hi everyone.. question about fetching.. I have a repo hosted on github, and have been working on it at work. Last night I worked on it from home and pushed my changes back to github. Now at work, how can I pull all my changes, and overwrite my local files which are no longer current? I tried just git pull but received an error 'Your local changed to file.x would be overwriten by merge. Aborting.' how can I force that to happen? Thanks!14:42
TStubbs joined14:42
mastroWork is there a way to have a parametric url in a repo config? I have many repos cloning from the same gitolite repository but I have the need to change the port in the url periodically, I can write a shell script to change every config url but having a single place where to change the url would be better and less error proning to me14:42
Andrei666 left14:43
nevyn left14:44
nwp_ joined14:44
offby1 hmm14:45
be nice if you could use a proxy14:45
xiangfu joined14:45
FabTG hi erveryone, how to just retrieve a file from a former commit?14:45
nevyn joined14:46
PerlJam FabTG: git checkout SHA1 -- path/to/file14:46
qian left14:46
yatiohi joined14:46
PerlJam freeed: you can stash your local changes just in case there's something about them you want to keep, then "git pull"14:46
FabTG PerlJam: will it delete the commits between the current state and the pointed commit?14:47
PerlJam freeed: or, if you're *sure* you want to overwrite them, do "git checkout master -- ." from the root dir and then "git pull"14:47
FabTG: no.14:47
FabTG PerlJam: fine14:47
thx14:47
psakrii joined14:48
giallu joined14:48
giallu left14:48
giallu joined14:48
vptr joined14:48
beatak joined14:48
PerlJam mastroWork: you have need to change the port periodically? Whyfor?14:49
diverdude ahh what the heck...ill support github :)14:49
6 USD a month is ok hehe14:49
freeed PearlJam, excellent! Can you explain the second suggestion? I'm already on the master branch, how does the -- flag affect that? Curious..14:49
krogant joined14:49
diverdude i think github is a nice initiative anyway14:49
esya left14:49
PerlJam freeed: -- just ends option processing and guarantees that the thing after it is a path14:50
vptr left14:50
vptr joined14:50
freeed PearlJam, oohh I missed the period at the end, I get it. Thanks!!14:50
freimatz left14:51
PerlJam "git checkout master -- ." means "checkout the version of the current dir as of the commit called master"14:51
cmn initiative?14:51
mastroWork PerlJam, networking difficult that will take a while to be fixed, this is a temporary workaround until we get it fixed14:51
dv310p3r joined14:51
Error404NotFound left14:51
diverdude cmn, yes14:52
freeed What website do you guys use for git documentation? git-scm.org suggests gitref.org, but I'm found a few broken links on that site, for instance, the link to 'Docs' for git fetch is dead http://gitref.org/remotes/#fetch..14:53
*I've found..14:53
ChanServ set mode: +v14:54
louiz I use git help.14:54
PerlJam freeed: I use the man pages :)14:54
cmn there are man pages that come with gi14:54
offby1 we use a large, vibrating egg14:54
comawhite left14:54
ognevsky joined14:54
freeed oh :) thanks guys! :p That's perfect14:54
ognevsky_ left14:55
PerlJam mastroWork: I don't know of a way to do it right off, but that doesn't mean it can't be done.14:55
ipalaus_ joined14:55
PerlJam mastroWork: I'd probably just write the program to update the port number appropriately14:55
TeckniX joined14:56
eno left14:56
nevyn left14:56
mastroWork PerlJam, yeah I wanted to know if there was some other way (since often git thinks ahead of me and have already developed a solution to my future problems) :)14:56
shiba_yu_ left14:58
eno joined14:58
nevyn joined14:58
jkyle_ joined14:59
Pupeno left15:00
namidark_ joined15:00
namidark_ left15:01
ngulden joined15:02
bitkiller joined15:02
iocor joined15:02
comawhite joined15:02
kennethreitz joined15:02
xiangfu left15:03
teweWork1 joined15:03
teweWork left15:04
baburdick left15:05
kedare joined15:05
John2496 joined15:05
slonopotamus left15:05
kedare left15:05
napdragonspyro15:07
dotnull joined15:07
Prasad left15:09
Prasad joined15:09
babilen joined15:11
babilenGuest9028615:12
diverdude if i do git config --global user.email "mymail@domain.com", will this mailaddress appear on the public repo if i make a public commit?15:12
spaceonline joined15:14
kurthindenburg joined15:14
raythecat left15:14
boombatower joined15:14
dfr|mac left15:15
RandalSchwartz in the commit messages, yes15:15
nevyn left15:16
nevyn joined15:18
airborn joined15:18
h0bbit left15:18
diverdude if i add a lot of files and subfolders to my repofolder, can i add them recursively to git ?15:18
nadavoid joined15:19
cmn if you use 'git add' on a directory, it'll add all of its files and direcotires15:20
kriegerod left15:20
jast IOW, recursive is the default :)15:20
nadavoid left15:20
neurodrone left15:20
diverdude cmn aha ok...and what if there are 100 files in the folder itself. will all these then be added if i do git add . ?15:20
kenperkins left15:21
cmn if you do 'git add .', all files and directories in the current directory will be added15:21
it doesn't matter how many15:21
HG` joined15:21
bartek left15:21
bartek joined15:21
Guest90286 left15:21
Guest90286 joined15:21
diverdude cmn, aha...so git add . is recursively add everything from here on and below15:21
jast yep15:22
diogogmt joined15:22
cmn yes15:22
Guest90286babilen15:22
diverdude nice15:22
kennethreitz left15:22
diverdude and once a file has been added i never have to add it again right? (unlesl ofc. its being removed from git)15:22
RandalSchwartz you have to add it each time you change it15:23
psakrii left15:23
RandalSchwartz or git status will complain15:23
JohnBat26 left15:23
RandalSchwartz just type "git status" a lot15:23
once a file is *tracked* it stays *tracked*15:23
diverdude RandalSchwartz, but what if i have been changing several files? And i cannot remember which ones?15:23
RandalSchwartz as in, it will notice that you've changed it, but you need to re add it.15:23
"git status"15:23
jast if you want to commit all changed files, you can use 'git commit -a'15:23
RandalSchwartz yeah - that too15:24
ognevsky left15:24
diverdude ohhh ok15:24
RandalSchwartz the "-a" there is "add" :)15:24
jast I don't do that a lot myself, since I usually have several independent changes I'm working on simultaneously15:24
RandalSchwartz hence - yes, you need to re-add it15:24
diverdude or i could do git add . in top folder first and then commit?15:24
jast and without the -a I can commit them seperately, e.g. using "git commit -p"15:24
codebeaker joined15:24
RandalSchwartz git add . at the top might add new files if you're not ignoring them15:24
Swimming_Bird joined15:24
jast sure, but that'll add all files, including those you might not actually want in the repository15:24
diverdude right...so git commit -a is safer15:24
RandalSchwartz git commit -a looks only at tracked files15:25
git add . looks at new files and .gitignore15:25
diverdude perfect15:25
Mikachu or git add -u and look at status again15:25
jast you see, you have options ;)15:25
Mikachu add -u and commit -a adds the same set of files15:25
diverdude what is -u?15:25
RandalSchwartz "what is a manpage" :)15:25
gitinfo diverdude: the git-add manpage is available at http://jk.gs/git-add.html15:25
Mikachu um, did someone do that, or is the bot very clever? :)15:26
jast whistles innocently15:26
Mikachu hehe15:26
RandalSchwartz yes and yes, apparently15:26
jast I may have added strong AI to the bot ;)15:26
RandalSchwartz or good puppet strings15:26
jast or perhaps I just made it so that /msg gitinfo somenick: man foo echoes to the channel15:26
Mikachu that can be abused15:27
RandalSchwartz everything can15:27
wereHamster irc can be abused! ban everyone from irc!15:27
jast in that case I'll just remove it again15:27
but I don't recall any abuse of anything in this channel in the past few years15:27
spaceonline left15:27
Mikachu me neither, but i haven't been here :)15:28
kleech left15:28
jast in other news, I've given most of you the ability to add new triggers (those !foo things)15:28
everyone can already edit existing ones15:28
FauxFaux ...awesome.15:28
g0r_ joined15:28
g0r_ left15:29
SethRobertson !gitinfo15:30
gitinfo Please see http://jk.gs/git/bot for more information about how to use me.15:30
PigeonFriend left15:30
jast good idea15:30
SethRobertson A better idea would be to run a script over the FAQ to automatically generate the mapping of anchors to headings.15:31
bartek left15:31
icwiener left15:31
grefab left15:32
jast that's what it does15:32
it's not updated automatically, but there's a command .faq_reload to make it do that15:33
not very useful currently because the wiki isn't editable anymore, though15:33
HG` left15:33
PigeonFriend joined15:34
SethRobertson No, I mean for people wanting to know how to use gitinfo15:35
drl left15:35
kennethreitz joined15:35
pidus joined15:35
jast not sure what you're talking about15:35
SethRobertson As a human wanting to give references to people, I don't have the anchors for all of the FAQs memorized, and the anchor names are sometimes non-obvious compared to the subject. It would be nice if there was a quick reference (other than looking at the source of the FAQ HTML page which is not quick) for the FAQ anchors15:36
jast ah15:37
good point15:37
joshsmith joined15:37
_ikke_ SethRobertson: I have a bookmarklet which makes all anchors visible15:37
SethRobertson Does anyone have git-scm.com editing rights? The reference to the "corresponding wiki page" on http://git-scm.com/tools is out of date.15:37
Mikachu it's quite hard to even find the faq if you don't know it exists15:37
btanaka joined15:37
_ikke_ !faq15:37
btanaka left15:38
_ikke_ Nope, does not work :P15:38
nevyn left15:38
SethRobertson _ikke_: Now now. Don't go bringing solutions into this15:38
FauxFaux My wish is that google started indexing some docs properly. >.>15:38
btanaka joined15:38
FauxFaux (Or that I could be bothered to install bunny1 or similar.)15:38
TimN joined15:38
ipalaus_ left15:39
nevyn joined15:40
jast SethRobertson: I think there's a github repository for it, and you can probably send pull requests on github15:40
SethRobertson Yes indeed. Thanks.15:41
shruggar1 left15:42
z0ned joined15:42
vdv left15:42
m1sc https://github.com/schacon/gitscm15:43
thrope is it possible to cherry pick the changes to a single file from a commit that changed several files15:43
ramsey joined15:43
thrope or at least easily produce a patch to apply just the changes to one file15:43
OOPMan joined15:43
offby1 sure15:43
thrope ah cherry-pick -n and then add -p?15:44
csherin joined15:44
offby1 exactly!15:44
might even be possible to pass the file's name to "git add", which will save you from having to say "n" a lot15:44
ZyX-I joined15:44
v0n joined15:44
cschneid joined15:45
diverdude how do i remove submodules in git?15:45
thrope offby1: so it has made loads of conflicts and now i dont know what to do15:46
SethRobertson diverdude: Good choice. edit .gitmodules, ` rm -rf path/to/submodule; git rm --cached path/to/submodule;` Consider removing the obvious stuff from .git/config It isn't always there and will not hurt anything if you do not15:46
iocor left15:46
diverdude SethRobertson, ok nice...and original repo can never be affected it any way? submodule is readonly?15:47
drl joined15:47
dexter_e joined15:48
gitinfo set mode: +v15:48
TimN I have been sent a patch based on a few commits before my current master which I have added with "git am" as a branch, and everything seems OK. However I am now trying to rebase this patch on my current master but when I execute "git checkout new_branch" followed by "git rebase master" I get the message "Patch is empty, was it split wrong?" Can anyone tell me please what has gone wrong?15:48
SethRobertson diverdude: A submodule is a repo just like any other, except when it is managed by git-submodule it is checked out to a SHA instead of being on a branch like most. Someone can commit to it, push from it, etc. Access control must be done upstream15:48
thrope offby1: is there any way I can just get back to the state before cherry pick15:48
offby1 sure15:49
SethRobertson diverdude: Perhaps you should consider gitslave as an alternative to git-submodule, depending on your development workflow it may be better (or worse). !gitslave15:49
gitinfo diverdude: gitslave (http://gitslave.sf.net) is useful to add a subsidiary git repositories to a git superproject when you control and develop on the subprojects at more of less the same time as the superproject, and furthermore when you typically want to tag, branch, push, pull, etc all repositories at the same time.15:49
offby1 git reset --hard, as long as you don't mind losing all uncommitted work15:49
thrope: ^^15:49
shruggar joined15:49
macabre joined15:49
SethRobertson diverdude: However, if your goal is to make the sub-repo read-only, gitslave will not help with that either. Upstream ACLs are the only way to force that.15:49
ChanServ set mode: +v15:49
lnostdal_ left15:49
neiraza left15:50
downming joined15:51
lnostdal_ joined15:51
diverdude SethRobertson, right ok...but maybe the best thing would actually be if it is possible to have a repo with submodules, and whenever i commit -a on this repo, changes to files belonging to submodules are committed to their respective repos. Is this actually possible?15:51
SethRobertson, and when i do push, submodules are also pushed15:52
eean left15:52
FirstDive joined15:52
axl__ joined15:52
gitinfo set mode: +v15:53
drl left15:53
FirstDive Hi, Can anyone point me to a how-to for setting up a git server served over http15:53
guampa joined15:54
thrope offby1: how can I say I just want the local HEAD when resolving the merge conflict without having to edit all the parts of the file by hand15:54
canton7 FirstDive, there are some on Pro Git15:54
thrope for a particular file15:54
TStubbs left15:55
thrope ah git checkout --ours , then git add?15:55
axl_ left15:56
babilen left15:56
nevyn left15:56
diverdude SethRobertson, ?15:56
jkyle_ left15:56
bartek joined15:56
SethRobertson diverdude: You can set the push URL to be different from the pull URL, but this is not something which can be configured for you automagically15:56
nevyn joined15:57
nardev left15:57
SethRobertson diverdude: And once you do so, will not other people on your project want to get the updated stuff you pushed? If so then the URL of the submodule should be the private/forked version of the real upstream15:57
nardev joined15:58
kukks joined15:58
Spockz left15:58
diverdude SethRobertson, hmm yes...wauw submodules are difficult to work with it seems15:58
neurodrone joined15:58
ipalaus_ joined15:59
sorin joined15:59
herdingcat left15:59
DarkAR joined15:59
_ikke_ diverdude: They have some quirks, but it's not that difficult15:59
weiyang left16:00
icwiener joined16:00
SethRobertson It is not conceptually difficult, but is a royal pain in the butt.16:00
FauxFaux My new thought is that people can't cope with HIDDEN STATE. Things like "submodule init" and "a failing rebase" produce state that's not visible in "git status", so it's SCARY.16:00
jwmann joined16:01
jwmann left16:01
diverdude SethRobertson, ofc. one could say that plugin is an independent instance, so it should only be edited directly in the repo and not from submodules16:01
jwmann joined16:01
shiba_yu36 joined16:01
downming left16:01
lamont left16:01
SethRobertson diverdude: You could say that, but it isn't very convenient, and you *still* need to do stuff in the submodule and the superproject in order to incorporate the new changes.16:01
_Qman left16:02
SethRobertson gitslave has its own flaws and quirks, but it is easier to understand and use.16:02
shiba_yu36 left16:02
herdingcat joined16:02
_ikke_ Still need to look into gitslave16:02
shiba_yu36 joined16:02
ScottE joined16:03
Davey_ joined16:03
Davey_ left16:03
Davey_ joined16:03
Gitzilla left16:03
herdingcat left16:04
herdingcat joined16:05
Aron joined16:05
dr_lepper left16:05
Aron Hi everyone, got a short question: I can no longer switch from my develop to my master branch because of the following error 'error: The following untracked working tree files would be overwritten by checkout'16:06
Yuuhi joined16:06
Aron This error is caused by the fact that I have deleted a file from my develop branch, but apparently it still exists in master16:06
I have no clue how to remove the file from the master branch without switching to it16:07
drl joined16:07
EugeneKay left16:07
Aron To be more precise, this was orignally a case conflict: a folder was stored with lowercase while it had to be upper case. I fixed this by renaming the folder to something else, re-adding it and then renaming it16:08
spb remove the file from your working tree that you removed from the branch16:08
ReekenX left16:08
Aron spb: well technically, the file is orignally removed. It tries to find item/Edit.php which is now Item/Edit.php16:08
nevyn left16:08
lamont joined16:08
drl left16:09
Sitethief left16:09
axl__ left16:09
rchavik left16:09
amigojapan left16:09
Aron Any idea how I can fix this?16:09
nevyn joined16:10
SethRobertson Aron: What does `git status` tell you? `git rm path`16:10
Aron SethRobertson: git status says nothing to commit. And deleting it results in the path not being found16:10
(not with the lower case, anyway)16:10
herdingcat left16:10
Gitzilla joined16:11
papegaaij left16:11
Aron This is because in the 'develop' branch, it now has the correct case, but in the 'master' branch it still seems to exist with lowercase16:11
duckx joined16:11
cbreak-work Aron: case insensitive FS?16:11
Aron cbreak-work: yeah OSX16:11
cbreak-work git mv it to something else and then back16:11
maybe that helps16:11
csherin left16:12
cbreak-work you can only have one of the names at a time of course16:12
since the filesystem defines them all as equal16:12
csherin joined16:12
EugeneKay joined16:12
SethRobertson Aron: You could probably also switch to a new orphan branch and then to master16:12
offby1 thrope: "git checkout --ours" sounds right, but I've never done it16:13
thrope offby1: got it working with git mergetool once I figured out how to use meld!16:14
Aron cbreak-work: renaming does not work, since it only renames the case in branch 'develop' and no in 'master'16:14
cbreak-work no16:14
Aron SethRobertson: what do you mean by that?16:14
cbreak-work you have to make it in every branch16:14
Aron cbreak-work: I just tried and failed16:14
tatsuya_o joined16:14
cbreak-work and then commit the renaming16:14
batlock666 left16:14
cbreak-work left16:14
Aron cbreak-work: how can I rename the file in branch 'master' if I cannot switch to the branch?16:14
SethRobertson Aron: git checkout --orphan emptybranch; git checkout master16:15
jkyle_ joined16:15
ManDay joined16:15
joshteam joined16:15
Zephyrus joined16:16
Aron SethRobertson: just tried this, but still get the same error16:16
Lemon|work left16:16
otakutomo left16:17
otakutomo joined16:17
dagda joined16:17
duckx left16:18
berserkr left16:18
Aron Is there any way to change the file directly in another branch? Something like git mv <from> <to> <branch> ?16:18
duckx joined16:18
akosikeno left16:18
axl_ joined16:18
Aron I basically cannot use my master branch at the moment :/16:18
babilen joined16:18
thiago Aron: no16:19
nevyn left16:19
thiago commit or stash, change branches, come back16:19
mastroWork many diff tools (meld for instance) have the ability of comparing folders... Is there a way to compare two commit by folder using an external tool?16:19
flijten left16:19
axl_ left16:20
SethRobertson Aron: Wait, what failed during the commands I gave? The checkout the emptybranch or the checkout to master?16:20
Aron SethRobertson: the checkout to master16:20
Zephyrus left16:20
adam12 joined16:20
Aron thiago: I have no changes to save, so commiting or stashing would do nothing16:20
SethRobertson OK, first make sure you are fully committed, and then `git checkout emptybranch; git reset --hard; git status`16:20
ls (and friends) should show nothing in the working directory16:21
thiago Aron: then you can change branches16:21
mandric joined16:21
Aron thiago: well no, that is why I am asking the question16:21
dr0id left16:21
nevyn joined16:21
SethRobertson Run my commands16:21
thiago Aron: then change branches16:21
ph^ left16:22
Aron SethRobertson: just did. Shows nothing to commit16:22
thiago: I can't that is my whole problem16:22
SethRobertson Aron: and ls shows the working directory empty?16:22
thiago Aron: you didn't tell us what isn't working16:22
Heisenmink left16:22
gchristensen joined16:22
Aron SethRobertson: one moment, concluded too fast16:22
djh What's the command for finding the commit a branch was started at?16:22
thiago Aron: if you come here asking "how do I do X since I can't do Y", I'm going to focus on X16:22
Aron: if you need help doing Y, ask about Y16:22
djh: none16:23
djh: all commits belong to the branch16:23
djh: so the answer to your question is "look it up where you wrote the commit for later use"16:23
SethRobertson djh: In other words: `git log --oneline -r | head -n 1`16:23
However, `git merge-base` is probably the answer to any question you are really asking about16:24
sorin left16:24
djh SethRobertson: That rings a bell, ty16:24
Aron SethRobertson: do you want me to create a new empty branch using symbolic-ref?16:25
masando joined16:25
Zephyrus joined16:25
pidus left16:25
SethRobertson I want you to run the commands I mentioned and tell me what the results are16:25
Aron SethRobertson: well you asked my to checkout an empty branch (git checkout emptybranch). I am wondering what you meant by this16:26
jaequery joined16:26
codebeaker left16:26
Aron Because obviously I don't have a branch named 'emptybranch'16:26
SethRobertson I originally asked you to run `git checkout --orphan emptybranch` I assumed you did so. Later I asked you to run `git checkout emptybranch; git reset --hard; git status; ls`16:27
Aron Ah. Okay. Just did this, but failing at git reset --hard: fatal: Failed to resolve 'HEAD' as a valid ref.16:27
delight joined16:28
bauruine left16:29
SethRobertson OK, do this instead: `git read-tree --reset -i 4b825dc642cb6eb9a060e54bf8d69288fbee4904; git clean -dfx`16:29
beatak_m joined16:29
kmox83 left16:29
SethRobertson Then `git checkout master`16:29
ajpiano left16:29
heppy joined16:29
beatak left16:30
Aron SethRobertson: getting the same error, for a different file now16:30
SethRobertson Which file?16:31
Aron But I guess I can stash now16:31
SethRobertson You should not need to stash. There should be *nothing* in the working directory16:31
Aron SethRobertson: there is.16:31
And a stash does not fix it, anyway. Just resolves in the same error again16:31
Error404NotFound joined16:31
Error404NotFound left16:31
Error404NotFound joined16:31
SethRobertson Run those two commands again. Then do a `ls -a`16:32
Aron alright16:32
kadoban_ joined16:32
SethRobertson Well, make sure you are still on emptybranch16:32
ph^ joined16:32
Lemon|work joined16:32
ajpiano joined16:32
ilteris__ joined16:33
ilteris__ left16:33
barcoder left16:33
infogulch joined16:33
Aron SethRobertson: done. I only have .git now16:33
ilteris__ joined16:33
ilteris__ left16:33
ilteris__ joined16:34
ilteris__ left16:34
SethRobertson OK. Try `git checkout master`16:34
Aron SethRobertson: I can switch to 'master' now, awesome16:34
ilteris_ left16:34
ilteris_ joined16:34
ilteris_ left16:34
Aron Thanks a bunch, you're a lifesaver :)16:34
tatsuya_o left16:34
airborn left16:34
Aron The `read-tree` was new to me; what does it actually do?16:35
ilteris_ joined16:35
ilteris_ left16:35
FauxFaux It's the internals of checkout.16:35
ilteris_ joined16:35
ilteris_ left16:35
ilteris_ joined16:36
ilteris_ left16:36
cwang joined16:36
kenperkins joined16:36
ilteris_ joined16:36
ilteris_ left16:36
delight left16:37
ilteris_ joined16:37
ilteris_ left16:37
n8o-mba left16:37
ilteris_ joined16:37
ilteris_ left16:37
ilteris_ joined16:38
ilteris_ left16:38
SethRobertson In this case, it was resetting the index to the contents of the empty tree (a magic SHA known to git as containing no files)16:38
ilteris_ joined16:38
ilteris_ left16:38
SethRobertson I actually just found out how do create the emptybranch the right way. To create an empty branch with the empty commit in it: git checkout -b emptybranch `echo "empty" | git commit-tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904`16:38
But what happened worked.16:38
Destos joined16:38
ilteris_ joined16:38
ilteris_ left16:38
ilteris_ joined16:39
ilteris_ left16:39
wereHamster why an empty commit?16:39
ilteris_ joined16:39
n8o-mba joined16:39
ilteris_ left16:39
ilteris_ joined16:40
ilteris_ left16:40
nevyn left16:40
ilteris_ joined16:40
ilteris_ left16:40
ilteris_ joined16:41
ilteris_ left16:41
SethRobertson A technical problem switching branches in a case insensitive filesystem required getting to a state without git knowing about any files, which is harder than it first seems. An empty commit makes it easier to go to this state (at the "expense" of having a branch with nothing on it hanging around)16:41
ilteris_ joined16:41
ilteris_ left16:41
wereHamster rm -rf --cached \* ?16:41
git rm ...16:41
EditThat joined16:41
ilteris_ joined16:42
ilteris_ left16:42
SethRobertson Right, except that would corrupt the current branch16:42
alex__c2022 joined16:42
wereHamster then make it on a temporary branch16:42
nevyn joined16:42
EditThat hi all, am i able to discard a feature branch that i no longer want?16:42
ilteris_ joined16:42
ilteris_ left16:42
wereHamster EditThat: you want to delete a branch?16:42
EditThat yes, without committing it16:42
SethRobertson Which was what I was trying to do. I just couldn't get it to behave.16:42
wereHamster EditThat: you do it with git branch -d16:42
ilteris_ joined16:43
ilteris_ left16:43
EditThat git branch -d [name]?16:43
teweWork1 left16:43
SethRobertson That deletes a branch, not removing stuff you have not committed.16:43
ilteris_ joined16:43
ilteris_ left16:43
soc42 joined16:43
wereHamster EditThat: man git-branch16:43
gitinfo the git-branch manpage is available at http://jk.gs/git-branch.html16:43
mklappstuhl left16:43
ilteris_ joined16:44
ilteris_ left16:44
EditThat wereHamster, that's ok - done. thanks for your help :)16:44
psakrii joined16:44
ilteris_ joined16:44
ilteris_ left16:44
ilteris_ joined16:45
ilteris_ left16:45
ilteris_ joined16:45
ilteris_ left16:45
kenperkins left16:45
kenperkins joined16:45
ilteris_ joined16:45
ilteris_ left16:45
Prasad left16:46
ilteris_ joined16:46
ilteris_ left16:46
pfsmorigo joined16:46
ilteris_ joined16:46
mastroWork left16:47
johnanderson joined16:48
ThePendulum joined16:48
yshh left16:48
gilligan__ left16:48
jasonbray left16:49
worstadmin left16:49
jasonbray joined16:50
Aron left16:50
gerard0 left16:51
ThePendulum Greetings16:51
n8o-mba left16:52
HG` joined16:52
gerard0 joined16:53
EricInBNE left16:53
ThePendulum Could anyone guide me through getting to understand git?16:54
dreiss joined16:54
wereHamster ThePendulum: one of the many tutorials or books will16:55
!book16:55
gitinfo 'Pro Git' is a complete book about git that is available online for free (there's a print version, too): http://progit.org/book/16:55
icwiener left16:55
tommyvyo_tommyvyo16:57
ThePendulum gitinfo: I know, but there's a lot of unnessecary information that takes ages to read through16:57
If anyone knows the book out of his head, could this person at least point me to the right location?16:57
hurikhan|Work left16:57
worstadmin joined16:58
centipedefarmer left16:58
drev1 joined16:59
bitkiller left17:00
spaceonline joined17:00
wereHamster the progit book is really nice17:00
Lemon|work left17:00
wereHamster also, 'Could anyone guide me through getting to understand git?', that would take about the same time as if you read the book yourself17:00
and I don't have that much time17:00
notola joined17:01
wereHamster let alone patience...17:01
notola left17:01
diverdude ok. I am now standing in my topfolder in my repo. I wish to add a submodule in ./Plugin/myplugin. The folder ./Plugin/myplugin does not exist as of now, only ./Plugin exists. The submodule i want to add makes a folder called myplugin, so what i DONT want is ./Plugin/myplugin/myplugin/..., what i DO want is ./Plugin/myplugin/... Is it then correct to use this command: git submodule add [email@hidden.address] Plugin ?17:01
m1sc ThePendulum: if you want to start with how git works internally you could start with think-like-a-git.net17:01
n8o-mba joined17:02
alberto56 left17:02
diverdude or should it be git submodule add [email@hidden.address] Plugin/myplugin ?17:02
ajt joined17:02
ThePendulum m1sc: I understand all I need to know about git, but I need to get it work. I have two servers, one local dev server, and a production server. Which one does git need to run on?17:03
wereHamster ThePendulum: depends on what you want to do17:04
dpino left17:04
centipedefarmer joined17:04
jasonbray left17:04
m1sc ThePendulum: chapter 4 of progit walks you through some basic server stuff17:04
jasonbray joined17:05
thorbjornDX joined17:05
giallu left17:06
thorbjornDX left17:06
diverdude anyone?17:06
FirstDive left17:06
bremner is skeptical of the claim "I understand all I need to know about git"17:06
converge joined17:07
converge hi, I need git on osx, whats the easiest way to install it ?17:08
wereHamster converge: google 'git on macosx'17:08
m1sc converge: homebrew probably17:08
diverdude wereHamster, can you help me?17:09
wereHamster diverdude: I don't do submodules. too much pain17:09
pheaver joined17:09
diverdude wereHamster, what do you then do17:09
wereHamster diverdude: everything else17:10
ReekenX joined17:10
ThePendulum bremner: I don't feel like needing to know how git is built from the source up, I just want to be able to use it17:10
bremner ThePendulum: ok, I see what you are trying to say.17:11
wereHamster ThePendulum: 'I understand all I need to know about git,' then what is your question? If you already know everything...17:11
diverdude ahh i found the answer mysel17:11
:D17:11
bremner ThePendulum: it just sounded funny, as wereHamster notes17:11
bitkiller joined17:12
ThePendulum My bad, I don't mean I know git inside out17:12
shiba_yu36 left17:12
ThePendulum I mean I don't need to know every single detail, just enough to use it17:12
wereHamster ThePendulum: and what's wrong with chapter 4 of progit?17:13
w17:13
oops, :w doesn't work in irssi -.-17:13
thrope left17:14
WeeDom joined17:14
Vile left17:14
stealthii I commonly use 'ls' to see the users of the channel. No harm done.17:14
converge m1sc: thanks17:15
cmn hehe, that's "everything is a file" token to it's logical conclusion17:15
WeeDom is this the right place to ask how to view a diff between when a branch was created and the state it is now?17:15
stealthii ThePendulum: understanding Git is a fundamental to using it well. It's literally half an hour of reading, then your own question will be answered by yourself, not others17:17
cmn use diff17:17
as in 'git diff some-branch'17:17
oh, when a branch was created... interesting17:17
alberto56 joined17:18
mishok13 left17:18
dys left17:18
mandric left17:18
cmn WeeDom: there is no right answer for that, a branch's "creation" is not a well-defined term in the git worldview17:19
dys joined17:19
WeeDom I guess what I really need, then, is a list of commits17:19
made to that branch.17:19
then I can… er...17:19
ok, create a new repository with none of the commits. Then one with all the commits17:20
stepnem left17:20
WeeDom and diff the two…?17:20
Vile joined17:20
LimeBlast left17:20
Harzilein joined17:21
Harzilein hi17:21
_0verbythere left17:22
Adaptee joined17:22
cmn diff two repos?17:22
swombat joined17:22
cmn at best you could diff two branches in repo17:22
ManDay left17:22
raythecat joined17:23
cmn WeeDom: what I mean by not well-defined is that git itself doesn't store a creation datapoint for a branch, because a branch is just a pointer to a commit, which brings the rest of the history17:23
Hounth left17:23
Harzilein i cloned a repository that imported a revision from another repository (but without history) in one branch and then added a feature branch with its changes. now i grabbed the original repo's history with git-bzr import. now i'd like to update both the history-less master branch (which i can track to a certain tag) and the feature branch with what happened on the original bzr repo17:24
cmn you might want to define a branch as "created" when it split off from another branch, say master17:24
verto joined17:24
stepnem joined17:24
Harzilein can i somehow get my master to a state where i can do fast forwards?17:24
Fretta joined17:25
beatak_m left17:25
HG` left17:25
beatak joined17:25
WeeDom cmn: right - so, er…17:25
WeeDom thinks he might have to read a book. Or something17:26
n8o-mba left17:26
cmn !book17:26
gitinfo 'Pro Git' is a complete book about git that is available online for free (there's a print version, too): http://progit.org/book/17:26
WeeDom ooo17:26
that might be what I need17:26
cmn you probably want to look up the concept of a "merge base"17:26
don't forget to look at the man pages as well17:26
babilen left17:26
n8o-mba joined17:27
WeeDom merge base. Right. I'll give that a try. The problem is I'm in quite a big team, so there are _lots_ of branches, and branches of branches, and branches with tags… and our main "git" is out of the office for a couple of days17:27
tewecske left17:28
deeunit I think I'm missing something basic. If I push a branch and then my friend fetches it and then he decides he doesn't like it and doesn't want to merge, how does he revert his actual working code to what he had before?17:28
Yuuhi left17:29
kenichi joined17:29
cmn WeeDom: do you know about gitk and friends?17:29
deeunit: what you're describing is something you'd want to do after a pull, not a fetch17:30
a fetch doesn't touch your worktree17:30
kerrick joined17:30
HG` joined17:30
jeppy left17:30
felipe left17:30
mzi joined17:30
Error404NotFound left17:30
maletor joined17:30
cmn if your friend doesn't like the code, then he shouldn't do anything17:30
unnamedwill left17:30
deeunit cmn, ah right so im missing something even more basic. until you merge, your working code isnt touched?17:30
cmn yes17:31
grahamc joined17:31
alberto56 left17:31
Zephyrus left17:31
deeunit so your local master branch is the working tree?17:31
unnamedwill joined17:31
m1sc deeunit: not even your branches17:31
deeunit typically...17:31
cmn a fetch doesn't touch your files, it "only" updates your idea of what's in the remotes17:31
Vampire0 left17:31
cmn the working tree and a branch are different things17:31
petteyg joined17:31
deeunit but if you pulled, which is basically a fetch followed by a merge then it does touch it...right?17:31
gchristensen left17:31
crashanddie left17:31
cmn the working tree are a bunch of files you have on your FS, a branch is a pointer to a snapshot of your project17:31
Vampire0_ joined17:32
Destos left17:32
Vampire0_ left17:32
Vampire0_ joined17:32
andrewsw left17:32
deeunit cmn, right. and how do you control what you'd actually see in your IDE for example?17:32
like how do you affect your working files?17:32
crashanddie joined17:32
crashanddie left17:32
crashanddie joined17:32
cmn you do an operation that affects them, like a merge17:32
or a checkout17:32
andrewsw joined17:33
cmn or a rebase, or a cherry-pick, or whatever17:33
deeunit right17:33
karlk left17:33
deeunit i guess this explains why git remote branch and git remote branch -r show different things17:34
linusoleander joined17:34
deeunit cuz git remote branch doesnt change after a fetch17:34
just your idea of whats in the remotes..?17:34
sorry17:34
whoops17:34
RhysMorgan joined17:34
deeunit i just effed that up17:34
baburdick joined17:35
Element9_work left17:35
cmn does that command even exist?17:35
deeunit haha no17:35
just made it up17:35
what im trying to understand is how git picks which branch represents your working code17:35
i know im not expressing the question well17:35
jeppy joined17:36
deeunit cuz when you merge, you are merging a branch into another, right?17:36
jast once more...17:36
gitinfo left17:36
m1sc deeunit: HEAD (symbolic reference) marks the tip of your checked out branch17:36
jast bye bot17:36
Araxia_ joined17:36
gitinfo joined17:37
dstorrs joined17:37
ChanServ set mode: +o17:37
deeunit m1sc, eh..could you elaborate?17:37
jast well that was useless :( forgot to actually deploy the new code17:37
gitinfo left17:37
gitinfo joined17:37
ChanServ set mode: +o17:37
alvaro_o joined17:38
m1sc deeunit: not really.. git doesn't even know about your working tree, if you will..17:39
alvaro_o left17:39
deeunit so lemme ask this more basically17:39
_rich_ left17:39
ixti joined17:39
d2dchat joined17:39
deeunit whats the correct flow for branching off, pushing it, having friend pull it without affecting his code, then letting him "accept" it and actually altering his files17:39
replace "pull" with "fetch"...17:40
*17:40
stealthii well he'd pull it, so he has the change in his local repository17:40
if he then did 'rebase', the change would propogate to his working copy17:40
dreiss left17:40
stealthii also what deeunit said17:40
deeunit so its the rebase that's essential?17:41
m1sc deeunit: friend would fetch it, review it, reject or merge17:41
ghenry joined17:41
deeunit but doesnt merging or not merging simply affect whether those changes are now reflected in whateter branch he would merge into?17:42
jast SethRobertson: FAQ overview added to website17:42
ghenry hi. I've got Your branch is ahead of 'origin/master' by 6 commits. I've created a branch for this now and want to go back to the original master. What docs are best to read?17:42
deeunit m1sc, im asking how/when/where you actually change the files so when you open your IDE, you see the changes you've accepted...17:42
converge_ joined17:42
Destos joined17:42
nevyn left17:42
cmn if you merge, you modify what the latest snapshot (commit) looks like17:43
m1sc deeunit: friends files would be changed when he/she decides to merge17:43
cmn and as a side-effect, git will put them in the worktree17:43
lightcap joined17:43
h0bbit joined17:43
dys left17:43
dexter_e_ joined17:43
jast hum, some of those are a little bit outdated17:43
alex__c2022 left17:43
alex__c2022 joined17:44
shruggar left17:44
deeunit cmn, right so then there is some point where your actual local files change17:44
shruggar joined17:44
ManDay joined17:44
converge left17:44
ReekenX left17:44
deeunit cmn, and my question was how does git decide which branch you'd have to merge into in order for that to happen17:44
PerlJam deeunit: Reviewing changes tends to happen in the worktree. This means that his worktree will need to be modified at some point17:44
nevyn joined17:44
boombatower left17:44
dexter_e left17:44
PerlJam deeunit: git doesn't decide about merges, humans do17:45
deeunit PerlJaml, i understand that you decide if/whe to merge17:45
cmn deeunit: you can only merge into the currently active branch17:45
QaDeS left17:45
deeunit my question is, where/when do the actual local files change, the files you'd see if you refreshed your IDE...17:45
cmn when you tell git to do it, like in a merge17:46
PerlJam deeunit: when he does a "git checkout" of whatever branch or commit17:46
thrope joined17:46
deeunit haha we're going in circles here17:46
diverdude if i change the name of a folder which contains a submodule, will it have any consequence for the submodule?17:46
thrope left17:46
deeunit im just a retard today17:46
sorry guys17:46
iocor joined17:47
deeunit cmn, m1sc oh crap i get it now. im really slow today17:47
oriba joined17:47
deeunit nothing is affected on local filesystem (outside of the DB obviously) when you fetch17:47
PerlJam deeunit: correct17:47
ChrisAnn left17:47
deeunit when you fetch you just now have a view of the changes made in some branch, bla bla17:47
when you merge17:47
MistuhKurtz joined17:47
karlk joined17:47
deeunit then you've accepted those changes and your files change17:47
makes sense17:47
boombatower joined17:48
PerlJam merge or rebase17:48
dys joined17:48
deeunit so you can do something like git diff master..branchName17:48
and if you dont like it then dont merge17:48
stealthii deeunit: http://upload.wikimedia.org/wikipedia/commons/thumb/4/44/Git_data_flow_simplified.svg/220px-Git_data_flow_simplified.svg.png17:48
deeunit got it now17:48
stealthii that image might make sense.17:48
deeunit thanks a lot everyone17:48
d2dchat left17:48
PerlJam deeunit: or you could merge into another branch.17:48
deeunit sorry for being so damn slow today17:48
PerlJam, right.17:48
Mikachu deeunit: minor detail, you want three dots in that command17:49
deeunit still figuring out the right flow for our team17:49
but i get it now17:49
converge_ left17:49
converge joined17:49
deeunit Mikachu, not necessarily...17:49
Mikachu you almost never want a symmetric diff before a merge17:50
PerlJam deeunit: depends on what you were really trying to say :)17:50
centipedefarmer left17:50
felipe joined17:50
deeunit Mikachu, ah true. thanks17:50
that makes sense17:50
you want to see the diff from ancestor that they branched off from?17:50
PerlJam Mikachu: "almost never"? If changes are made to both branchs, I'd want a symmetric diff.17:51
heppy left17:51
aspotashev| joined17:51
Mikachu PerlJam: but merge will only add the changes on the other branch, it won't remove the ones you made, but that's what the diff will show17:51
deeunit: well, at least i do, apparently not everyone agree with me ;)17:51
mattalexx joined17:51
mattalexx left17:51
mattalexx joined17:51
PerlJam Mikachu: sure. that doesn't mean that I don't want to know what's changed :)17:51
(on both branches)17:51
Mikachu but in a symmetric diff you don't know which changes are which17:52
PerlJam Mikachu: indeed. when I get such a diff, I don't care.17:52
iocor left17:52
towski joined17:52
DofLeFou joined17:53
PerlJam anyway ... I'm just being ornery or something. I rarely use symmetric diff. but I do use it occasionally.17:53
mzi left17:53
converge left17:53
deeunit wait, could you guys explain the difference between ".." and "..."?17:54
lightcap left17:54
tystr joined17:54
SethRobertson deeunit: foo..bar are all commits that are different between foo and bar17:54
BlindOracle joined17:55
Mikachu deeunit: let's say you have branches A and B, they both have changes that aren't on the other branch17:55
PerlJam deeunit: If you've got two branches, A and B, A...B will show all of the commits in B that are not in A17:55
Yuuhi joined17:55
PerlJam deeunit: but it *won't* show the commits in A that are not in B17:55
Mikachu which is the opposite of what .. and ... do in git log17:55
PerlJam deeunit: this is useful when commits have been made to both branches since they diverged17:55
Mikachu where .. means show only things on B and ... means show both17:56
RhysMorgan left17:56
Harzilein how do i get a diff between two branches?17:56
Mikachu heh17:56
PerlJam looks around to make sure there isn't a hiddne camera somewhere17:57
avandenhoven joined17:57
Harzilein oh17:57
baburdick left17:57
Harzilein heeh17:57
sorry, did not read the backlog17:57
PerlJam Harzilein: no worries. But you can do "git help" at any time too17:58
Harzilein: or "git help diff"17:58
baburdick joined17:58
Cromulent joined17:59
babilen joined17:59
Chillance joined17:59
Cromulent left17:59
Cromulent joined17:59
rubyruy joined18:00
Cromulent left18:00
shruggar left18:00
heppy joined18:00
mattalexx I have a forked repo with a topic branch called "topic". The upstream remote is called "upstream" and my fork is called "personal". By accident, I checked out topic, merged master, pushed to personal, then rebased master, then tried to push to personal again, but my push is being rejected (probably because I merged, then rebased?). Can someone help me sort this out?18:00
gebi joined18:00
mandric joined18:00
SethRobertson What do you want it to look like?18:01
mattalexx SethRobertson, Me?18:01
SethRobertson sure18:01
mattalexx SethRobertson, I want to have only rebased. No merge.18:01
SethRobertson Is this a private repo with no other users on it?18:02
Martin_ left18:02
mattalexx The fork is.18:02
Martin_ joined18:02
PerlJam mattalexx: you'll likely have to force a push to personal again to make it "look right"18:02
mattalexx: after SethRobertson tells you all about reset :)18:02
converge joined18:02
lightcap joined18:03
SethRobertson mattalexx: Use `gitk --all --date-order` to examine your repo. You will want to identify the SHA of the commit BEFORE the merge. You could also use `git log --graph --oneline`18:03
mattalexx PerlJam, Okay18:03
n8o-mba left18:03
mattalexx SethRobertson, Oh, thanks for telling me about git log --graph --oneline. I always use gitk to get this view18:04
SethRobertson gitk is usually much clearer18:04
Do you have the SHA?18:04
n8o-mba joined18:04
mattalexx SethRobertson, I'm confused about which SHA I'm to get. Are we rewinding?18:05
SethRobertson Yes. You want the SHA on the line BELOW (parent of) the merge commit18:05
mattalexx ok 1 sec18:05
SethRobertson If you pastebin the first few lines of the git-log, we could tell you18:05
namidark_ joined18:06
icwiener joined18:06
SethRobertson I am worried18:08
ISF__ left18:08
d2dchat joined18:08
jonshea joined18:09
nevyn left18:09
n8o-mba left18:10
babilen left18:10
jast I think I'm going to retire the faq plugin, once I've got all the important parts duplicated18:11
nevyn joined18:11
Cromulent joined18:12
SethRobertson Whichever, but there is nothing like slapping someone upside the head with "FAQ"18:12
Corey_Corey18:12
babilen joined18:12
ipalaus_ left18:12
jast don't worry, the functionality isn't going to go away, the information is just going to come from a different place18:13
one that's actually editable and stuff18:13
spyroBruce_Lee18:14
worstadmin left18:14
dexter_e_ left18:15
ngulden left18:17
canton7 left18:17
iocor joined18:17
tystr left18:17
diverdude if i have forked a repo on github, and added the fork to my repo, can i then get the newest updates from the original repo?18:19
ceej left18:19
ceej joined18:19
RandalSchwartz git fetch -a thatremote18:19
that'll bring them into remote/thatremote/BRANCHNAME18:20
from there you can diff or rebase or merge18:20
raythecat left18:20
tystr joined18:20
ceej left18:20
swombat left18:21
diverdude so its not a submodule?18:21
BinGOs it is covered under http://help.github.com/fork-a-repo/18:21
RandalSchwartz wait - "added the fork to my repo" how?18:23
just added a remote, right?18:23
nevyn left18:23
achadwick left18:24
nevyn joined18:25
pfsmorigo left18:25
oc80z left18:25
dstorrs left18:26
iocor left18:27
oc80z joined18:27
icwiener left18:27
johnanderson left18:28
baburdick left18:28
dstorrs joined18:28
envi_ left18:28
icwiener joined18:28
rurufufuss joined18:28
disappe__ left18:29
localhost left18:29
axl_ joined18:29
NightMiles left18:29
axl_ left18:30
baburdick joined18:30
axl_ joined18:30
stodan left18:30
ManDay left18:30
padams left18:31
pfsmorigo joined18:31
localhost joined18:31
d2dchat left18:31
ManDay joined18:32
diverdude ok...so if i have forked a repo and added this fork as a submodule in my main repo, i can add an additional upstream to the original submodule repo. Then i can occasionaly do a fetch on this upstream to get my submodule updated. is this correct understood?18:32
jasonbray left18:33
ThePendulum left18:33
SethRobertson yes, that is normal workflow18:34
diverdude SethRobertson, ok...so what if i made some changes to the files in the submodule and i did a fetch. what happens then? will some sort of merge window appear?18:35
RandalSchwartz is still unclear why submodule is being used here18:35
SethRobertson A fetch just updates the remotename/* branches. It does not merge.18:36
You must manually merge18:36
RandalSchwartz: He has a project P with a submodule S. He has local changes to S to the upstream of S is Su. Su is a fork of Sreal.18:37
jceb left18:37
d2dchat joined18:37
lhnz left18:37
RandalSchwartz ahh ok18:37
diverdude what then happens when i do fetch? will it overwrite my fetches?18:37
ehhh again18:37
kumbayo joined18:37
marcuy joined18:37
lhnz joined18:37
diverdude will it overwrite my changes18:37
Vampire0 joined18:37
SethRobertson diverdude: You have added a remote for the real upstream, right? When you fetch realupstream it will overwrite the previous version of realupstream. However, it will not affect myupstream/* or local branches.18:38
diverdude hmm ok...i dont think i understand that18:39
Vampire0_ left18:39
SethRobertson run `git branch -a`18:39
ddkilzer joined18:40
SethRobertson For any branch, say master, you should see "master" "origin/master" and "realupstream/master"18:40
Assuming you have two remotes named "origin" and "realupstream"18:40
dreiss joined18:41
ManDay left18:42
mcluskydodallas left18:42
_iron joined18:43
Drakonite joined18:43
MANCHUCK joined18:44
zizzfizzix left18:44
MANCHUCK what is the ip range for github.com18:44
ddkilzer left18:44
cmn MANCHUCK: that's a question for #github18:45
MANCHUCK sorry18:45
cmn why do you care, anyway?18:45
MANCHUCK firewall18:45
mcluskydodallas joined18:45
ddkilzer joined18:45
MANCHUCK very tight rules18:45
need to open up the range18:45
bremner either that or a question for nmap ;)18:45
johnanderson joined18:46
zizzfizzix joined18:46
cmn I'm not sure I'd call that a firewall, but fine18:46
zizzfizzix left18:46
zizzfizzix joined18:46
kevlarman MANCHUCK: either that or just get rid of the stupid "block all outgoing traffic not on 80/443" rules18:46
MANCHUCK Its for ssh18:47
i cant open 2218:47
kevlarman why not?18:47
MANCHUCK i wish i could18:47
cmn because...18:47
kevlarman who blocks outgoing 22?18:47
bremner well, github gets paid to keep their customers happy, ask them18:47
MANCHUCK i have a security mananger who thinks that if we can ssh out from that box then three legged dogs in china would be eaten18:47
i have to listen to him18:48
cmn does that manager not understand the difference between outgoing and incoming connections?18:48
ManDay joined18:48
MANCHUCK knows he dosent18:48
kumbayo left18:48
yshh joined18:48
cmn then that person seems unfit for that job18:49
kevlarman this calls for a clue by four18:49
krogant left18:49
MANCHUCK cmn, this is also the person that thinks this box is PCI compliant18:49
all the developers connect with the same password18:49
so that gives you the idea of the type of fights im having18:50
cmn feels sad for MANCHUCK now18:50
bremner MANCHUCK: why not just use github over http?18:51
masando left18:51
MANCHUCK i have tried18:51
kevlarman MANCHUCK: thanks to people like your boss, it's as common to find an sshd on 443 as 22 :(18:51
MANCHUCK cant get casptrino to work with it18:51
CannedCorn joined18:51
Adaptee left18:52
MANCHUCK with http that is18:52
bremner I guess github technical support is your only hope18:52
kevlarman MANCHUCK: i would assume that github.com is on a static ip18:52
yshh left18:53
jpmelos left18:53
bremner I wouldn't18:53
MANCHUCK they could rotate it out18:53
besides you know what happens when you assume18:53
you make an ass out of you18:53
;)18:53
kevlarman i've never heard of an sshd behind a load balancer18:54
iocor joined18:54
Cromulent left18:54
raythecat joined18:55
SethRobertson It makes a lot of sense for a github18:55
aspotashev| left18:55
diverdude hmm ok i think i did things in reverse order. I made a repo, added some submodules, and then put a lot of files into my repo dir. Now i wish to add all these files i just added, but if i do git add . i will also add the files of my submodules i think, which i ofc. do not want. So how can i solve this problem?18:56
kjelle joined18:57
SethRobertson diverdude: Git will not do the wrong thing18:57
kjelle hello. is there any almost as good as "github" which I can install on my private git server, like trac for svn?18:57
PerlJam kjelle: like gitorious?18:57
SethRobertson kjelle: What do you want the local github to do?18:57
PerlJam kjelle: why do you want it locla?18:58
kjelle SethRobertson: like the online github, only local. e.g. in a company.18:58
baburdick left18:58
diverdude SethRobertson, ok, so i just do git add . and the submodules will remain as submodules and its files not added again ?18:58
kjelle PerlJam: because the system it will run on is offline/not connected.18:58
SethRobertson kjelle: We understand the concept, but there are different solutions depending on what github functionality you might want. gitorious might be good, but perhaps gitolite plus gitweb and stuff like that might be good18:59
kjelle so that's why im wondering if git has anything similar to trac, which i think is simple and easy to use for svn.18:59
astrostl left18:59
kjelle SethRobertson: okey, ill google them. thanks18:59
baburdick joined18:59
SethRobertson Isn't trac a bug tracking system with a wiki?18:59
kjelle integrated with svn19:00
MANCHUCK SethRobertson, yes trac has a wiki19:00
most of them do19:00
kjelle and you can use a zillion plugins to do other stuff into it.19:00
SethRobertson You can stick git into trac19:00
galvin joined19:01
MANCHUCK caspatrino was being used before i got here so im just going with it19:01
kjelle SethRobertson: github has a nice, clean interface. so i was wondering if anything similar is available (open source) which anyone have made.19:01
kevlarman why would you want to use trac?19:01
the biggest feature of most of its competitors is "it's not trac"19:01
kjelle hehe19:02
kevlarman i wish i was joking :(19:02
kjelle well, I am a SVN man, and want to become a GiT man. But I like e.g. trac timeline to visualize my stuff better.19:03
kevlarman: I know, but still, trac can be used..19:03
n8o-mba joined19:03
PigeonFriend left19:03
caseymcg joined19:03
kevlarman kjelle: you've obviously never seen trac take 30+ seconds of maxing out the server cpu to view a multi-thousand line diff19:03
kjelle well, it could take some time, yes ;) hehe19:04
PerlJam we use trac + git here with no problems.19:04
kjelle in the company I worked with before, we used the wiki for internal documentation stuff, tickets (to most part) to know what we should do etc..19:04
but I dont want Trac19:04
I want git's "frontend"19:04
kumbayo joined19:04
kevlarman kjelle: you mean gitweb?19:04
kjelle e.g. github has this nice view of forks, pull requests etc, as im growing older, im getting more lazy :()19:05
Strogg left19:05
kjelle kevlarman: well, if gitweb is the thing to use, ill test it out19:05
SethRobertson For typical corporate users, you don't want forks of your projects19:05
kevlarman kjelle: gitweb is the thing on e.g. git.or.cz19:05
kjelle SethRobertson: that is clearly not the point :)19:05
SethRobertson: as one developer or so can work on a particular project out of a master19:05
SethRobertson: I would value branching, as SVN did a shitty job with it.19:06
SethRobertson kjelle: Yes, that doesn't require forking. You just need to `git clone` the repo19:06
kevlarman err repo.or.cz19:06
SethRobertson And then `git checkout -b topicbranch`19:06
btanaka left19:06
kjelle SethRobertson: true, you could.19:07
SethRobertson kjelle: In any case, choose your workflow first, say from !book, then look for a tool to support it.19:07
kjelle well, git is the tool19:07
SethRobertson The forking method is good for open source. It is NOT so good for corporate users19:07
kjelle I just want to administratit outside my ssh19:07
SethRobertson !book?19:07
kjelle SethRobertson: sorry about the fork, i proably meant branching.19:07
new names ;) *hide*19:07
SethRobertson !gitinfo19:07
gitinfo Please see http://jk.gs/git/bot for more information about how to use me.19:07
SethRobertson !book19:08
gitinfo 'Pro Git' is a complete book about git that is available online for free (there's a print version, too): http://progit.org/book/19:08
SethRobertson jast: It looks like gitinfo doesn't see punctuation as keyword breaks19:08
khmarbaise joined19:09
juvenal left19:09
SethRobertson kjelle: Yes, you probably did, but then you don't want to use a github lookalike. You can look at gitorious, but that may not be a good match either19:09
Spockz` joined19:10
kjelle github lookalike, gitweb gives me that? :)19:10
nixmaniack joined19:10
bremner no19:11
SethRobertson gitweb is nothing like github. gitweb provides a read-only view of the repo in a web form. I would add gitolite to provide access control to the git server19:11
You were already pointed at a demo of what gitweb gives you19:11
kjelle mhm19:12
RandalSchwartz gitolite is pretty slick19:13
we're deploying that here19:13
bremner it is, but it isn't all web2.019:13
kjelle so gitweb + gitolite is as close as it gets to the online github?19:13
bremner or gitorious19:13
RandalSchwartz no - github enterprise would be that :)19:13
but not for free19:13
kjelle hehe okey19:13
tblamer joined19:14
kjelle so, I should make a new gui then? :) hehehehe19:15
(joke)19:15
drale2k joined19:15
drale2k hi guys19:16
i am looking for a way to work localy with git but be able to push it automaticly to the server19:16
now i would prefer if it works on a shared hosting server too, without root privs19:16
SethRobertson drale2k: Under what conditions should it automatically push19:16
caseymcg left19:17
verto left19:18
SethRobertson For instance, could it automatically push when you type the command `git push hostingserver`?19:18
psakrii left19:18
Davey_ left19:18
dorkmafia joined19:18
Spockz joined19:18
drale2k SethRobertson: when i push it to git, i guess the only way it can work on shared hosting is with a script running localy which will upload chages via ssh?19:19
juvenal joined19:19
SethRobertson drale2k: So, when you are working on your local repo and type `git push server` you want git to then, from the server, type `git push liveserver`?19:19
drale2k SethRobertson: if the server could pull changes automaticly that would be great, but is it possible on shared hosting ?19:20
SethRobertson drale2k: It depends very much on the type of shared hosting. We cannot answer that question. Ask your hosting provider if you can run `cron` jobs (or try them out)19:21
drale2k SethRobertson: yeah cronjobs are available but i can`t install git on the sever19:21
*server19:21
SethRobertson But just FYI I still have no idea what you *really* want to do.19:22
drale2k: Then you want to use rsync to push to/pull from the server.19:22
This can be automatically triggered when various things happen, from the git level19:22
Or periodically from either side, with cron19:22
drale2k SethRobertson: how does rsync work, does it downloads the files via wget ?19:22
notola joined19:23
kjelle SethRobertson: so the conclusion is that there isnt anything near github to put on your own server (without paying ze $$$)?19:23
drale2k let me try to explain what i need it for19:23
RandalSchwartz rsync is its own protocol19:23
doesn't use wget19:23
kjelle rsync kicks ass :)19:24
drale2k at the moment every change i do, i do it live via ftp, which is very bad19:24
RandalSchwartz especially --filter '. -' <<END19:24
kjelle I sync like a 50mb repo with a million files or so in <10 seconds (slow server), to my backup server over ssh.19:24
(rsync)19:24
drale2k i want to start using git for all projects, have the codebase github and the server should download changes from github19:25
*on github19:25
SethRobertson kjelle: No, that isn't the conclusion. The conclusion (I made at least) is that you need to define what you really want to have happen, define your workflow, examine the tools we already pointed you to, and then come back and tell us what the results of your definition/examinations are. Or hire someone to solve your problems.19:25
glcrazy joined19:25
mugwump kjelle: there is an open source clone of github19:25
it's called gitarrific or gitabulous or something19:26
SethRobertson Said someone will force you to define your workflow and what you want to have happen and then do the research and implementation for you.19:26
kjelle SethRobertson: I am doing the research now ;-)19:26
mugwump http://gitorious.org/19:26
SethRobertson We already pointed him there19:26
kjelle problem I need to run it offline :p19:27
SethRobertson kjelle: The other thing you need to define is whether you want a turn-key solution or are willing to put pieces parts together19:27
kjelle: Yes, if there was only a way to get gitorious for the low low cost of $019:27
kjelle SethRobertson: okey, if that be the case, I rest my case.19:27
mugwump kjelle: gitorious is GPL3, you can run it on your own hardware19:28
kjelle okey, then I misread when I examined it, sorry SethRobertson ;)19:28
mugwump whether that's a real saving for you vs. GitHub Enterprise is another question19:28
baburdick left19:29
ManDay left19:29
baburdick joined19:29
kjelle ty mugwump and SethRobertson19:29
icwiener left19:29
icwiener joined19:30
shruggar joined19:30
MarcoSousa joined19:31
dennda_ left19:32
dennda_ joined19:32
i42n joined19:32
zendeavor left19:33
glcrazy left19:34
csherin left19:35
n8o-mba left19:35
Vile left19:37
spaceonline left19:37
n8o-mba joined19:38
nevyn left19:39
lausi joined19:39
psakrii joined19:39
converge left19:39
_aeris_aeris19:39
diogogmt left19:40
eletuchy joined19:40
nevyn joined19:40
psoo joined19:41
barcoder joined19:42
zendeavor joined19:43
pfsmorigo left19:43
axl_ left19:44
remyo joined19:45
gusnan joined19:45
linusoleander left19:46
deeunit Whoops. I'm trying out textmate2 and i currently have textmate set up as my editor for commits, etc. so i ran git commit and then something got messed up and im stuck in the middle of supposedly entering a commit msg… no i have no idea what to do. it hasn't "returned back to git" with a successful commit msg19:47
shruggar left19:48
axl_ joined19:48
shruggar joined19:48
noisebleed left19:48
rockfruit left19:48
deeunit arite i just control+c out of it. good now19:49
eean joined19:50
n8o-mba left19:51
aspotashev| joined19:52
n8o-mba joined19:52
OOPMan left19:53
jasonbray joined19:54
ipalaus_ joined19:55
nixmaniack left19:56
raythecat left19:56
axl__ joined19:57
notola left19:57
i42n left19:59
baburdick left19:59
nevyn left19:59
baburdick joined20:00
axl_ left20:00
the-fonz left20:00
the-fonz joined20:01
marthinal joined20:01
nevyn joined20:01
ajt left20:04
shruggar left20:04
ajt joined20:06
OOPMan joined20:07
dasil003 left20:07
OOPMan left20:08
nixmaniack joined20:09
nevyn left20:10
babilen left20:11
marcuy left20:11
alexim joined20:12
khmarbaise left20:12
kedare joined20:12
nevyn joined20:12
zendeavor left20:13
deeunit if i do git push origin will that automatically create the remote branch corresponding to my local?20:13
alberto56 joined20:14
alberto56 left20:14
cmn not by default20:14
alberto56 joined20:14
iheffner I seem to be having issues with git diff-index since upgrading to 1.7.8: http://pastebin.com/raw.php?i=64DAAthX20:14
_ikke_ git push origin the_branch20:14
deeunit cmn, so i still need to specify the branch that im on?20:14
Henrik_ joined20:14
deeunit k20:14
thanks _ikke_20:14
cmn if you specify the branch then it will create it, yes20:15
take a look at the possible values of push.default20:15
babilen joined20:15
psakrii left20:16
fission6 joined20:16
deeunit push.default?20:16
fission6 if i have a feature branch named featured_x i want to merge into master, what are the correct steps20:16
deeunit fission6 checkout master and run git merge feature_x20:17
linusoleander joined20:17
const is there a way to get a svn style diff instead of a git style diff ?20:17
deeunit you need to be in the branch you want to merge into20:17
vdv joined20:17
iheffner deeunit: its a git config setting which controls default behavior for 'git push'20:17
deeunit const, yeah use svn ;)20:17
const deeunit: o.O20:17
fission6 do i need to do git rebase master, when i have feature_x checked o ut? deeunit20:17
deeunit iheffner ah hanks20:17
_ikke_ const: What is svn style diff?20:17
iheffner anyone have thoughts on what's going on / how to fix this? http://pastebin.com/raw.php?i=64DAAthX20:18
namidark_ left20:18
deeunit fission6, not sure. ask cmn hes the pro here ;)20:18
ccushing left20:18
cmn svn has learnt to make git-style patches, but I've no idea what if any is the real difference20:18
iheffner fission6: no need to rebase if you are going to merge20:18
cmn fission6: merges and rebases are opposite things, usually20:19
icwiener left20:19
cmn typically, you either want to merge or rebase20:19
iheffner fission6: rebase is if you wantto pick up changes from master without merging master into feature_x20:19
const _ikke_: http://paste.pocoo.org/show/520432/20:20
_ikke_: deeunit I need it cause I need to send patches to people who use svn, (I'm using git-svn)20:20
cmn as long as the branch is small, that works, but for larger branches, a rebase is going to be more of a headache than merge20:20
ccushing joined20:20
zendeavor joined20:21
_ikke_ const: can you explain the difference?20:21
ManDay joined20:21
kevlarman const: patches generated by git will apply just fine with plain patch20:21
const _ikke_: lack of commit message, use of "index", moves are tracked differently, no git tags index e1f99aa..381f38d 100644 etc20:22
Spockz left20:22
const kevlarman: understood, some people have expressed dislike of the "git format" and want "svn format"20:22
fission6 now thats a sweet merge20:22
cmn const: the first hit on google for "svn-style diff" gives me a SO question where there is a script20:23
MangoMango joined20:23
AaronMT left20:24
Q| joined20:24
const cmn: yes, I saw that. I couldn't find a way to make git output it though (the answer might be "impossible")20:24
cmn if there's no commit message, why does svn need to handle it differently anyway?20:24
const kevlarman: another difference: patch gets confused when git adds a file (because of a/ and b/ prefix)20:25
cmn: not svn, humans reading it20:25
kevlarman const: um, no it doesn't20:25
Q| Any way to tell git-archive to NOT ignore a file that is defined in .gitattributes as export-ignore? To rephrase: Tell git-archive to force export of a single file on matter what.20:25
marcuy joined20:25
kevlarman const: you apply it with -p120:25
AaronMT joined20:25
cmn then why does it matter what format it uses if it's for humans?20:25
kevlarman and you can specify the prefix if you really want20:25
Henrik_ left20:25
kevlarman or omit it20:25
const kevlarman: meg okay, still a human problem20:26
cmn if your patch get confused by a/ and b/ it's either too silly or you're using it wrong20:26
const cmn: humans who use svn wanted me to send them svn style patches20:26
cmn it's an unified diff20:26
const cmn: I know20:26
xxiao joined20:26
const cmn: I *agree* with you20:26
cmn: I'm the person using git20:27
xxiao gitg vs gitk20:27
const they wanted a svn style diff though, and I try and be nice, and give people what they want20:27
ssaasen joined20:27
kevlarman const: git can't do it20:27
const kevlarman: cool, that's all I needed to know. Thanks!20:27
nwp_ left20:27
iheffner const: export the git repo to CVS and give them a CVS style diff. :)20:28
const drops a mallet on iheffner20:28
xxiao needs to merge 4 branches into one20:28
nevyn left20:28
ipalaus_ left20:28
kevlarman as much as i hate having to use hg and the others20:28
soc42 left20:28
kevlarman it's absolutely ridiculous to expect people not to use one of the dvcs for any serious development work these days20:29
xxiao is there a way for git to just treat binary blob as a file when generate patches?20:29
const kevlarman: I work with p4, svn, cvs, hg, git, and fossil on a regular basis20:29
kevlarman xxiao: git diff has an option for that20:29
cmn how does escaping work in that case?20:29
xxiao really...my git diff for binary generates a super large text file20:29
icwiener joined20:29
baburdick left20:29
cmn and you were expecting what?20:30
nevyn joined20:30
heppy left20:30
baburdick joined20:30
proq joined20:30
heppy joined20:31
vdv left20:31
odolbeau left20:31
sodani joined20:31
odolbeau joined20:31
brunov left20:31
sodani I accidentally removed all of my files with "git rm -rf .". How can I get my files back?20:32
cmn checkout20:32
kevlarman sodani: git checkout HEAD -- .20:32
ManDay left20:32
deeunit I dont get this syntax: git checkout -b myfeature develop. what's develop here?20:32
cmn the base branch20:33
rather, the starting point20:33
zendeavor left20:33
xxiao kevlarman: right, git format-patch --no-binary20:33
deeunit cmn, so you're branching off a branch?20:33
sodani so if I do checkout, I'll lose any changes I made after the last commit correct?20:33
cmn what else would you branch off of?20:33
kevlarman xxiao: you might also want to read about .gitattributes20:33
deeunit lol true20:33
kevlarman if git isn't figuring out the file is binary20:34
(the heuristic is the presence of null bytes)20:34
deeunit cmn, so if you just do a git checkout -b somebranch then you are always branching off of the current branch/20:34
?20:34
const sodani: yes20:34
sodani okay, thanks20:34
cmn if you don't tell it a starting point, checkout -b will create a branch at the current commit20:34
iheffner so, no one has any help with why I keep getting git diff-index output when doing other things?20:34
cmn or rather, it won't change the index at all20:34
what other things?20:35
iheffner cmn: git reset -p fails because of it. I'm trying to recompile git and getting it at the top of make.20:36
nevyn left20:36
pagameba left20:36
fermo left20:36
xxiao kevlarman: thanks ,nice20:36
cmn hm, reset does do a diff-index20:36
ManDay joined20:36
cmn but it's meant to be shown to the user /after/ the reset operation20:36
iheffner cmn: http://pastebin.com/raw.php?i=64DAAthX20:36
texel left20:37
nevyn joined20:37
ssaasen left20:37
sodani okay, I've done git checkout <branch name> but my deleted files aren't coming back20:37
pagameba joined20:37
cmn sodani: did git track them?20:37
ssaasen joined20:37
RaptorX joined20:37
sodani cmn: yes, I was doing commits along the way20:37
cmn iheffner: huh, so the wrong options are being passed to diffindex; that's really odd20:38
sodani: what does `git ls-files HEAD` say?20:38
deeunit Best way to undo a merge?20:38
sodani cmn: it returns nothing20:38
cmn nothing at all? that's odd20:39
that would mean git wasn't tracking any files...20:39
what about `git whatchanged` ?20:39
deeunit: there is a very long e-mail from Linus about that and the various meanings of 'undoing' a merge, but you probably want 'reset --hard HEAD^'20:40
sodani cmn: it shows the three most recent commits. on 12/12, 12/10 and 12/620:40
cmn it should show all commits in the current branch20:40
deeunit cmn ah ok. thanks20:40
cmn is there anything peculiar there?20:40
like all of those files getting deleted, maybe?20:41
icwiener left20:41
friskd joined20:41
cmn oops, could you try `git ls-tree HEAD` ?20:41
sodani it's showing all the commits yes20:41
but nothing about all files getting deleted20:41
icwiener joined20:41
sodani git ls-tree HEAD shows the files and folders in the base directory20:41
zendeavor joined20:42
cmn and checking-out HEAD doesn't do anything?20:42
deeunit cmn, i need the "^"? also this supposedly rolls back to last commit before the merge?20:42
cmn the ^ is what tells git to go to HEAD's first parent20:42
ssaasen left20:42
cmn it sets the current branch to point to the commit before this last one, which should be the merge20:42
sodani i did 'git checkout HEAD master' and I get: error: pathspec 'master' did not match any file(s) known to git.20:43
cmn right, you told git to checkout the file 'master' as it appears on HEAD20:44
which doesn't exist20:44
fission6 left20:44
SethRobertson left20:45
sodani oh, so it should be git checkout HEAD -- .20:45
cmn yes, do what kevlarman told you to do20:45
_ikke_ Have you removed the master branch?20:45
cmn what? he told git to checkout the file master20:46
angelsl left20:46
sodani cmn: okay that worked. thanks for the help20:46
airborn joined20:48
cmn iheffner: reading builtin/reset.c, it looks like what it does is run 'add --patch=reset'20:48
sodani that was the first time i saw all my work go away like that, so there was a bit of panic20:48
nevyn left20:48
antoniojasr left20:49
bindaasomatic left20:50
nevyn joined20:50
iheffner cmn: I'm currently re-compiling to 1.7.6.4 to see if it clears the issue.20:51
n8o-mba left20:53
kamuifury joined20:54
ChanServ set mode: +v20:55
heppy_ joined20:55
kumbayo left20:55
heppy_ left20:55
Xizor joined20:56
kamuifury I wanted to know what is the best method to have a remote repo that is auto updated when I do a commit locally?20:56
like a autopush of sorts20:56
heppy left20:56
j416 kamuifury: commit hook perhaps, to do a force-push20:57
SethRobertson joined20:58
kamuifury so a post-commit hook of "git push"20:59
hrm20:59
alexim left20:59
QaDeS joined20:59
n8o-mba joined21:00
baburdick left21:00
dasil003 joined21:00
baburdick joined21:01
rurufufuss left21:01
skyjumper left21:01
skyjumper joined21:01
bremner or git push --mirror if you feel really brave (but read the docs carefully)21:03
cmn perhaps as an alias21:04
bremner kamuifury: or just make an alias21:04
psoo left21:04
cmn but are you sure you want to auto-push?21:04
dpino joined21:04
h0bbit left21:05
kamuifury left21:05
heppy joined21:07
dorkmafia left21:07
kumbayo joined21:08
axl_ joined21:08
isxek joined21:08
duckx left21:08
duckx joined21:09
S0lign0c hi21:09
Spockz joined21:10
iheffner cmn: it looks like it may be a path/install issue. yet another recompile with a patched Makefile...21:10
S0lign0c I have a little question, i have a file in master but not in develop. i want to put in develop without change other file.21:10
Spockz` left21:10
adam12 left21:10
cmn iheffner: make sure you test with $git/bin-wrappers/git21:11
axl__ left21:11
cmn where $git is the worktree21:11
otherwise, it's going to be a huge pain in the arse21:12
diogogmt joined21:12
zendeavor left21:13
cmn S0lign0c: grab the file from master with checkot master <file>21:13
canton7 joined21:13
cmn then stage and commit as usual21:13
Q| Any way to tell git-archive to NOT ignore a file that is defined in .gitattributes as export-ignore? To rephrase: Tell git-archive to force export of a single file no matter what?21:13
alberto56 left21:15
ramusara left21:15
marthinal left21:15
Agos joined21:15
bremner you can tell it to take the working tree version of .gitattributes iirc21:16
cmn change that attribute but dont' commit it?21:16
S0lign0c cmn: ok with git checkout develop; git checkout master myfile and commit ?21:16
cmn you need to add the file21:17
otherwise it won't be included in the commit21:17
cbreak git checkout also adds to index21:17
cmn oh, even from a different branch?21:17
S0lign0c cmn: thank you21:17
cmn never knew that21:17
cbreak in file mode21:17
(and in branch switch mode too)21:17
cmn yeah, that one is kinda obvious :)21:18
d0k left21:18
S0lign0c cbreak: yes is add, just have to commit next.21:18
fisted joined21:19
Q| bremner: Allright, taking a look at this, thx21:19
diegoviola joined21:20
Q| cmn: You mean in .gitattributes directly or how exactly?21:20
S0lign0c oh it seem to be not a merge but just a share between branch, right ?21:20
cmn yes, unless there's a way to specify it as argument21:20
S0lign0c: you only merge full branches21:20
dexter_e joined21:21
cmn git tracks the whole tree at the commit level21:21
Q| cmn: --worktree-attributes: Look for attributes in .gitattributes in working directory too. Guess that's what bremner meant and what will do for me21:21
cmn right21:21
diogogmt left21:22
cedeon_ joined21:22
bewartse joined21:22
gerard0 left21:22
crankharder I know git doesn't track directories -- but is there a way to check in that a directory should be removed?21:22
S0lign0c cmn: okay, and one question before going to bed. if i want to work in master, i have to make tmp branch of master work and merge ? (for the semantic)21:22
cortana` left21:22
nevyn left21:22
fission6 joined21:22
ericeatsbrains left21:22
RaptorX left21:23
diogogmt joined21:23
iheffner crankharder: git rm -r path/to/be/removed ; git commit21:23
gerberb left21:24
ericeatsbrains joined21:24
thorbjornDX joined21:24
nevyn joined21:24
gerberb joined21:25
crankharder $ git rm -r vendor/rails21:25
fatal: pathspec 'vendor/rails' did not match any files21:25
iheffner: I even added it back in first21:25
ManDay left21:25
iheffner crankharder: what does git status say about vendor/rails ?21:26
cmn S0lign0c: what semantic?21:26
if you want to work on master, you checkout master and work there...21:26
crankharder nvm, committed a file inside the dir, then rm -r the dir. I think that got it. the git command removed the dir21:26
Targen joined21:27
ericbarnes left21:28
dasil003 left21:28
HG` left21:29
dexter_e left21:29
duckxx joined21:30
baburdick left21:30
WhiteHorse left21:30
triptec joined21:31
nevyn left21:31
WhiteHorse joined21:31
NightMiles joined21:31
baburdick joined21:32
dexter_e joined21:33
duckx left21:33
nevyn joined21:33
windsurf_ joined21:33
heppy left21:33
windsurf_ I made two commits to a local branch that I shoudn't have. I want to instead move those changes to a new local branch. What approach should I take?21:34
gerard0 joined21:34
canton7 left21:34
n8o-mba left21:34
triptec hi, I'm a complete noob and now I'd like some advice. Me and my friend have checked out the same branch made our own branches but we have written code in the same places so before I try to merge and get problems, how do I fix them?21:35
n8o-mba joined21:35
juvenal left21:35
thorbjornDX triptec: merge them, then you can fix the conflicts from there21:35
babilen left21:36
j416 windsurf_: create the new branch, then reset the current one21:36
therealfakemoot joined21:37
babilen joined21:37
j416 windsurf_: read about git branch and git reset21:37
barcoder left21:37
sodani left21:37
triptec yeah, but those conflicts, like do i go in to the files and remove code? like where do I start to resolve the conflict is what I'm wondering I think21:37
therealfakemoot Looking for some help getting git-svn on arch linux. Can't find it in pacman21:37
nevyn left21:38
heppy joined21:38
kevlarman therealfakemoot: it's in the git package iirc21:38
thorbjornDX triptec, when you do a git merge, the conflicted files will be marked up with >>>>> and <<<< and ==== to show you where the conflicts are. You can either edit the files directly, or use a tool like vimdiff or meld or something to graphically merge21:38
windsurf_ j416: thanks, will read!21:39
thorbjornDX and yes, you just delete the parts that you don't want, including that markup21:39
nevyn joined21:39
therealfakemoot Hm. I tried git-svn21:39
but nothing else21:39
cmn the listing suggests it's in /usr/lib/git-core/git-svn for some reason21:39
j416 windsurf_: reading the git community book or the pro git book for example, is time well invested21:39
kedare_ joined21:39
j416 windsurf_: will save you a few headaches. :)21:39
therealfakemoot Aha. looks like I can "git svn" instead of "git-svn"21:39
windsurf_ j416: yes, good call21:40
S0lign0c cmn: ok thank21:40
cmn triptec: you basically get the code to the state you want to have it21:40
triptec so if I try to merge tempbranch into branch I just checkout temp branch and look at the conflict message and edit acordingly21:40
?21:40
jast SethRobertson: fixed21:41
thorbjornDX triptec: generally, you check out the branch you want to merge into first, then run 'git merge <other branch>'21:41
then resolve conflicts21:41
SethRobertson jast: thx21:42
MangoMango left21:42
kedare left21:43
kedare_kedare21:43
windsurf_ j416: so if I understand correctly, the branch will preserve my changes and just exist in a copy of the messed up branch. Then, in the messed up branch, reset will just revert back as though I didn't commit those changes (leaving my new branch untouched) ?21:43
eean left21:43
eean joined21:44
kumbayo left21:44
j416 windsurf_: 'revert' is something different in git terminology (look up 'git revert') but yes, what you say is basically it21:44
windsurf_: branches are pointers to commits. 'reset' can move pointers.21:45
nevyn left21:45
JackWinter left21:45
windsurf_ j416: OK thanks!21:45
j416 'branch' just creates new pointers.21:45
Modius_ joined21:45
j416 (or deletes, renames, etc)21:45
Rod joined21:46
windsurf_ j416: I think it is revert i want. committed changes but not yet pushed (shared publicly)21:46
PabloM left21:46
nevyn joined21:46
j416 not yet pushed? then you can do reset21:46
'revert' means "make a new commit that does the same thing as commit X, but in reverse"21:46
iheffner windsurf_: revert makes a new commit with a "opposite" patch21:46
windsurf_ oh21:46
j416 so it's the exact same thing as if you manually reverted the change and committed that.21:47
windsurf_ the book says, 'If you've messed up the working tree, but haven't yet committed your mistake, you can return the entire working tree to the last committed state with...reset'21:47
but I have committed.21:47
j416 reset does many things.21:47
btanaka joined21:48
j416 it can reset the branch, the index, the working tree21:48
duckx joined21:48
j416 what that sentence is talking about is resetting the working tree and index21:48
windsurf_ ok, going to the man page instead21:48
fisted left21:49
duckxx left21:49
windsurf_ now the man says, 'If you want to undo a commit other than the latest on a branch, git-revert(1) is your friend. '21:49
and i have made about 2-3 commits before I realized i was using the wrong branch21:49
j416 windsurf_: if you do "git reset sha1" where sha1 is the sha1 of some commit, it will reset your branch to that commit. But the files in your working tree will not be touched. You can use flags like --soft, --mixed, --hard to get different behaviour21:49
cmn that refers to a commit you've pushed out21:49
dexter_e left21:50
JackWinter joined21:50
windsurf_ j416: hm ok21:50
j416 windsurf_: you might want to look at interactive rebase21:50
it allows you to remove commits21:50
(and their corresponding change)21:50
windsurf_ I think after branching i want --hard21:50
hm ok21:51
j416 but I'm not sure what you want exactly21:51
so it's hard.21:51
jsick3 left21:51
pheaver left21:51
pheaver joined21:52
iheffner windsurf_: can we try to walk through things again. My understanding is that you were on branch_x and accidentally made several commits there that should not be there. All of these commits are sequencial and are HEAD~n..HEAD. Is that correct?21:52
nevyn left21:52
lightcap left21:52
windsurf_ iheffner: yes21:52
jasonbray left21:53
adamkochanowicz joined21:53
iheffner windsurf_: if you create a new branch from where you are right now, it will contain all the work you have done to this point. You can then checkout branch_x (with the incorrect commits) and do a git reset --hard HEAD~n (where n) is how many commits back you need to go.21:54
ChanServ set mode: +v21:54
adamkochanowicz I must not be understanding the "revert" feature. I had a file I wanted to restore to a previous commit. So I reverted it and it didn't change.21:54
triptec left21:54
the_cybersphinx joined21:54
windsurf_ iheffner: thanks21:54
gitinfo left21:54
cmn adamkochanowicz: indeed; revert is used in git in the sense of reverting a patch21:54
gitinfo joined21:55
ChanServ set mode: +o21:55
cmn if you want to get a file from a speicific commit, use checkout in file mode21:55
nevyn joined21:55
jast "revert foo" says: do the opposite of what foo did21:55
fisted joined21:55
cmn git checkout <commit> -- <file(s)>21:55
cybersphinx left21:55
adamkochanowicz Okay, I'll try that.21:56
alexim joined21:56
windsurf_ iheffner: hm that seems to have gone too far back – I put ~4 'cause my user has 4 commits i wanted to undo21:57
my log has commits from yesterday, a bunch from other users from Dec 2 and Dec 1 and now the log goes only to Dec 1 for some reason21:57
adamkochanowicz There are actually dozens of these files, do I need to specify each one I want to revert? Essentially I just want to go back in time, so to speak.21:57
windsurf_ (iheffner there weren't any commits between dec 2 and yesterday)21:57
cmn "just" go back in time? do you want to checkout all files from a particular commit or how?21:58
you can use globs21:58
j416 windsurf_: instead of writing HEAD~n you can simply write the beginning of a sha1 there21:58
windsurf_: and the branch will be pointing at that commit21:58
windsurf_ j416: ok... any way to undo the last command? :)21:58
j416 windsurf_: unless you've been messing around since you issued it: git reset --hard HEAD@{1}21:59
boombatower left21:59
boombatower joined21:59
windsurf_ last thing I ran was ....~421:59
j416 yup21:59
adamkochanowicz cmn: Yes, that's basically it. I could just do git checkout ###### * right?21:59
j416 should work then21:59
windsurf_: you can also reset it to the branch copy you created22:00
windsurf_ holy sht i need to read that pro git book22:00
hehe22:00
j416 windsurf_: git reset --hard yournewbranch22:00
windsurf_: while on the other branch22:00
windsurf_ huh cool22:00
j416 will make it point to the same thing as yournewbranch22:00
cmn adamkochanowicz: if you want to checkout /all/ of the files, then 'git checkout <commit>' will do that22:00
jasonbray joined22:00
cmn that will also put you in a detached HEAD22:00
ipalaus_ joined22:00
Fretta_ joined22:00
adamkochanowicz The <commit> is the SHA1, right?22:00
tommyvyo left22:00
j416 windsurf_: anything that ultimately resolves to a commit sha1 can be put after 'git reset'22:01
rath joined22:01
Fretta_ left22:01
cmn the sha1 is the name of the commit, yes22:01
whitman left22:01
Fretta left22:01
baburdick left22:01
adamkochanowicz Yes, I see that I have a detached head…what does that imply exactly?22:01
j416 windsurf_: that means branch name, tag name, HEAD~10, HEAD^^, HEAD@{2.days.ago} and so on.22:01
adamkochanowicz Also, the files still weren't reverted.22:01
cmn there is a long text that git gives you22:01
ChanServ set mode: +v22:01
cmn does git care about those files in that revision?22:02
adamkochanowicz cmn: I should say, what are the consequences of that if any?22:02
cmn there is a logn text that tells you the consequences22:02
windsurf_ j416: gulp. now i've done it. i ran that @{1} command on my new branch by accident which put it back to Dec 1 commits, switched branches to the old one where I was supposed to be, ran it again and i'm still on dec 1 commits...22:02
cmn you won't be comitting to any branch22:02
windsurf_ need those future ones back22:02
ThomasLocke left22:02
joshsmith left22:02
cmn so you need to create one if you want changes to stick22:02
baburdick joined22:02
windsurf_ actually – I did do a time machine backup- i guess i could restore22:02
rath when is planned release of 1.7.9?22:02
j416 windsurf_: haha, not sure what you did but, don't panic, everything is there22:02
linusoleander left22:03
adamkochanowicz cmn: So every time I want to do a revert, I will have to make a new branch?22:03
windsurf_ j416: lol22:03
iheffner windsurf_: look at git reflog22:03
cmn adamkochanowicz: what use of revert do you mean now?22:03
ceej joined22:03
JackWinter left22:03
windsurf_ lol that's a funny command iheffner22:03
giallu joined22:03
j416 windsurf_: rule: as long as you have committed your stuff, it's hard to lose things22:03
windsurf_ is there a git closelaptopandhavebeer command?22:03
adamkochanowicz cmn: revert to a previous commit22:03
cmn rath: just before february, I think; 1.7.8 was only just released22:03
j416 windsurf_: yes, git reflog will show you where HEAD has been, you should be able to find your commit in there somewhere.22:03
adamkochanowicz This reverting feature is basically the heart and soul of why I'm using git in the first place.22:04
cmn it depends on what you want to do with those older files22:04
j416 windsurf_: git beer22:04
nevyn left22:04
TrineLocke left22:04
rath cmn: thx, it's just because i like a new feature of it ;)22:04
freeed left22:04
windsurf_ :P22:04
adamkochanowicz cmn: I don't want to do anything with them other than just revert them to their previous state. Isn't this the basic idea of version control? The ability to go back?22:05
raythecat joined22:05
cmn if you want a new commit to go back to the state of that older commit, checkout <commit> -- . will do that22:05
the main reason for VCS is to be able to look back, yes22:05
nevyn joined22:05
RandalSchwartz is baffled by what adamkochanowicz envisions as a work flow22:05
cmn but you rarely want to go back completely22:06
and undo days or weeks of work22:06
your workflow seems really weird22:06
iheffner adamkochanowicz: there are many ways to "go back to" a previous state. How you do it depends on what you want to do once you get there.22:06
dasil003 joined22:06
adamkochanowicz RandalSchwartz: Hey Randal, sorry, I'm new to this. I'm looking to my fellow developers on how to "envision a work flow." Please be patient with me. Thank you.22:06
windsurf_ ok, so in reflog, HEAD@{0} is the latest eh?22:06
j416 windsurf_: HEAD@{0} is the same as HEAD22:07
cmn what use is it to you to go back to this older commit then?22:07
j416 windsurf_: which is where you are now22:07
cmn why do you want to undo days of work?22:07
or hours, whichever22:07
adamkochanowicz cmn: what use is it to recover from a mistake?22:07
windsurf_ oh so that latest one looks to show that I just switched branches, so it records that too eh22:07
j416 windsurf_: HEAD{n} is where HEAD was n ago22:08
iheffner windsurf_: yes22:08
adamkochanowicz cmn: If those hours of work ended up not doing what I needed them to22:08
cmn if there was a mistake, you either revert the patch with that mistake or reset back to it22:08
adamkochanowicz cmn: What I intend to do couldn't be more fundamental to the concept of version control.22:08
windsurf_ j416: ok so i see the ~4 command, so i want to reset to the sha before that one ?22:08
adamkochanowicz cmn: Which leads me to believe maybe I'm not explaining what I intend to do very well.22:08
JackWinter joined22:08
cmn if you'd said that you wanted to undo the last few commits, we'd have understood much better22:08
j416 windsurf_: HEAD moves around, like, if you check a branch out, HEAD moves to that branch (HEAD is a pointer and that @{n} is 'where was that pointer n moves ago')22:08
bremner adamkochanowicz: patches are fundamental. You sound like you're more interested in backups22:08
iheffner adamkochanowicz: it sounds like you want to reset --hard to literally throw away work that you've already committed (but not pushed). Is that it?22:08
cmn or explain that you'd been working for a few hours but never got anywhere, so you wanted to undo those changes22:09
j416 windsurf_: you can do for instance: git log -5 sha122:09
windsurf_ j416: cool22:09
j416 to get a log of the 5 latest commits starting from that sha122:09
cmn there are many reasons why you'd want to "go back"22:09
adamkochanowicz cmn: I thought the "go back in time" analogy explained exactly that but I guess it didn't.22:09
j416 windsurf_: to determine if it's what you want.22:09
rath left22:09
cmn going back in time usually means several days22:09
j416 windsurf_: git log -2 HEAD@{3}22:09
for example22:10
adamkochanowicz cmn: usually means that?22:10
cmn most people don't explain "go back in time" to be "throw away today's work"22:10
usually means going back to a set version to branch off, do tests or whatever22:10
adamkochanowicz cmn: okay, we'll just have to agree to disagree on that, ha.22:10
j416 windsurf_: = "show me the two latest commits at the time when HEAD was before where it was before it is where it is now"22:10
cmn because that's "going back", what you want to do is change22:10
j416 if that makes sense. heh22:10
adamkochanowicz cmn: Am I accidentally using a technical git term when I say "back in time"?22:10
nevyn left22:11
swombat joined22:11
cmn no, but that's the problem, going back in time can mean many things22:11
j416 windsurf_: oh, that's another before because it was 3 :) sorry22:11
cmn and be done for many many different reasons22:11
adamkochanowicz cmn: I'm just talking about the general concept of being in a state that is before now…seconds, days, weeks, years.22:11
cmn but it doesn't say what your goal is22:11
adamkochanowicz cmn: okay.22:11
cmn what you're trying to achieve22:11
eletuchy left22:11
canton7 joined22:12
drizzd joined22:12
cmn at any rate, if you want to throw away a bunch of changes, reset --hard is probably what you want22:12
welly joined22:12
_iron left22:12
adamkochanowicz cmn: okay22:12
cmn just make sure you understand what it means if you change published history22:12
saschagehlich left22:13
adamkochanowicz cmn: doesn't the hard reset destroy the working tree?22:13
cmn --hard changes the worktree22:13
I believe it's --mixed where it only changes the index and HEd22:13
HEAD*22:13
windsurf_ j416: actually, i think i got it all working now22:14
j416 windsurf_: cool22:14
windsurf_: still read that book though :)22:14
DofLeFou left22:14
DofLeFou joined22:15
cybersphinx joined22:15
adamkochanowicz cmn: I guess git went into my files and marked them up…because there was some sort of conflict with the revert.22:16
cmn: I suppose I have to go in and manually fix all of that?22:16
dr_lepper joined22:16
dr_lepper left22:16
dr_lepper joined22:16
nevyn_ joined22:16
cmn why did you revert? you said you wanted to change history?22:16
have you gone back to your branch?22:17
adamkochanowicz This was before I even came to this room.22:17
an0maly left22:17
adamkochanowicz before IRC was opened22:17
the_cybersphinx left22:17
cmn if there were conflicts then yes, you have to resolve them22:17
adamkochanowicz Can I not just undo that action so I don't have to do that?22:18
cmn reset --hard would do that, I believe22:18
adamkochanowicz cmn: okay.22:18
an0maly joined22:18
cmn maybe revert has --abort22:18
w09x joined22:18
ghenry left22:18
ShooterMG if there are unstaged changes on a branch, does git provide a way to view those changes, like maybe as a diff?22:18
jimubao joined22:18
adamkochanowicz cmn: How does git know to which commit it's reseting to?22:19
cmn have you tried?22:19
adamkochanowicz I did, yes.22:19
cmn that was to Shooter22:19
if you don't tell it a commit, it'll take HEAD22:19
ShooterMG cmn: i haven't tried anything yet, not sure what to try22:19
cmn what you just said22:20
mugwump 'git diff' shows you unstaged changes22:20
ShooterMG oh lol22:20
thanks :P22:20
pantsman left22:20
mugwump I recommend 'git gui' in general22:20
iheffner adamkochanowicz: that depends on how you invoke reset. How are you calling it?22:20
FabTG left22:20
adamkochanowicz cmn: I see.22:20
mugwump it makes it clear what is staged and what is unstaged22:20
windsurf_ j416: iheffner thanks guys!! this was awesome. Even more respect for git now. Yes. i'll read the book :)22:20
adamkochanowicz iheffner: just "git reset --hard"22:20
iheffner: But cmn answer this for me. Thanks.22:21
windsurf_ I'm sure a fundamental understanding of the pointers and all that will make understanding concepts and commands much easier.22:21
j416 windsurf_: :)22:21
windsurf_: indeed. Learn the basics, and also look at the git object model. It can seem like it's going too deep, but once you understand the very basics, all other commands seem very logical.22:22
windsurf_ sweet22:22
j416 windsurf_: basics as in, the basic building blocks22:22
bartek left22:22
windsurf_ yes22:22
j416 windsurf_: (what is a blob, tree, commit and how do they work together, etc.)22:22
p3rror left22:23
Dave^|| left22:23
FabTG joined22:23
pantsman joined22:23
pantsman left22:23
pantsman joined22:23
the_cybersphinx joined22:24
qqq999 joined22:24
ipalaus_ left22:25
adamkochanowicz Yes! That worked. Thank you, cmn.22:25
qqq999 left22:25
cybersphinx left22:26
linusoleander joined22:28
adamkochanowicz cmn: Now that that's solved, help me to understand what a small development team would do if one of the members wanted to undo a change they made just on one file. Say just a line of code they wrote 5 minutes ago.22:29
cmn: assuming they are too lazy to just find that line of code and press delete...22:29
cmn you can checkout -p22:29
which lets you undo hunks22:29
dzonder left22:29
cmn or simply not commit that line22:30
when I have printf all over the place, I just use 'add -p' to commit the real fix and ignore all the debug statements22:31
adamkochanowicz cmn: I see.22:31
cybersphinx joined22:31
adamkochanowicz And if they had committed?22:31
cmn --amend22:31
aspotashev| left22:31
cmn as long as you haven't pushed, you can change the commits22:31
baburdick left22:32
cmn so if you commit bit by bit, --amend will let you add changes to the latest commit22:32
or remove changes if you do the opposite22:32
codebeaker joined22:32
baburdick joined22:32
the_cybersphinx left22:33
John2496 left22:33
Rod left22:34
adamkochanowicz you can use --amend to remove changes to a commit?22:35
cmn sure, just do the opposite changes22:35
adamkochanowicz Okay, I'll hit the git book for that.22:35
cmn if you've commited a line you didn't want to22:35
adamkochanowicz thanks.22:35
adamkochanowicz left22:36
fmilo joined22:36
joshteam left22:37
nevyn_ left22:37
cmn np22:37
ssaasen joined22:37
Q| left22:38
nevyn joined22:38
j416 left22:38
jasonbray left22:38
diegoviola left22:39
fmilo left22:40
vptr left22:40
windsurf_ left22:41
Vile joined22:41
envi_ joined22:41
tystr left22:41
ssaasen left22:42
diverdude if i do touch .gitignore in the toplevel of my repo and add rules to the files, will git then use it on the repo or do i need to more?22:43
RandalSchwartz you mean add rules to .gitignore?22:43
diverdude RandalSchwartz, yesa22:43
RandalSchwartz yes - the new .gitignore will apply immediately22:44
diverdude sorry, bad formulation but you got it right22:44
RandalSchwartz git status and git add . will respect it22:44
diverdude RandalSchwartz, ok, i dont need to somehow add the .gitignore to git first?22:44
deeunit left22:44
RandalSchwartz if you want it in the repo, yes22:44
or you can add .gitignore to .gitignore :)22:45
iheffner diverdude: locally, .gitignore applies immediately. You can add and commit .gitignore and it will get distributed and others will start ignore what you are ignoring22:45
RandalSchwartz but in that case, use .git/info/exclude instead22:45
diverdude RandalSchwartz, haha good one :D22:45
RandalSchwartz .git/info/exclude is local-only22:45
diverdude ok thats nice...ill do that. thx22:45
RandalSchwartz .gitignore can be committed22:45
icwiener left22:45
joshsmith joined22:45
icwiener joined22:45
RandalSchwartz you can also put something in your homedir and set your global config to use it22:46
anjen joined22:46
RandalSchwartz so that it's good for all your repos, but nobody else's22:46
madewokherd joined22:46
mcluskydodallas left22:47
jaimef left22:47
EricInBNE joined22:48
diverdude RandalSchwartz, yes, thats what i read about and it said i had to do git config --global core.excludesfile ~/.gitignore_global, so thats what made me confused because i thought i had to call git config for all -gitignore files22:48
galvin left22:49
adam12 joined22:50
duckxx joined22:50
bwright left22:50
RandalSchwartz no - just the ones outside the repo22:51
gerberb left22:51
Spockz left22:51
bgerber joined22:51
duckx left22:51
kedare left22:52
jast is currently watching: upgrade of debian unstable system that hasn't been used in 400 days22:52
jast it's a fairly active kind of watching that involves occasionally bypassing aptitude because it doesn't manage to resolve all dependencies22:52
kevlarman jast: isn't formatting / faster?22:55
(if /home is on its own partition)22:55
jast possibly. but then I'd have to manually reinstall everything I want22:56
plus this way is more interesting22:56
w0bni left22:56
kevlarman jast: russian roulette is "more interesting" too :P22:57
abhatnag joined22:58
jast yeah, but it has risks22:58
abhatnag left22:59
joshsmith left22:59
jasonbray joined22:59
pheaver_ joined22:59
dv310p3r left23:00
codebeaker left23:00
adam12 left23:01
grahamc left23:01
adam12 joined23:02
baburdick left23:02
baburdick joined23:03
pheaver left23:03
pheaver_pheaver23:03
SethRobertson I thought you were on like a 300 baud modem earlier today23:04
btanaka left23:04
ilteris_ left23:04
jast no23:04
kermit left23:04
kpreid left23:05
jast I just have occasional horrible latency and almost-nil bandwidth23:05
kermit joined23:05
jast in the meantime I've got a full mirror of the debian archive on a local server23:05
SethRobertson Ah, that is the trick23:05
eletuchy joined23:05
archis joined23:05
swombat left23:06
archis left23:06
petteyg left23:06
Ryback_ left23:07
jrm2k6 left23:07
cedeon_ left23:08
gasull joined23:08
gasull left23:09
fedesilva joined23:09
ilteris_ joined23:09
MANCHUCK left23:10
atrigent joined23:10
alan_w left23:11
fission6 left23:13
diverdude if i put this *~ in my gitignore will it then ignore all files looking like this: somefilename.php~ ?23:13
RandalSchwartz sure.23:13
all *untracked* files that looked like that23:13
diverdude cool :) thx23:13
RandalSchwartz .gitignore never affects files you've already added.23:13
diverdude right ok23:14
good to know23:14
i have to rm them first then?23:14
jast nope, just git rm --cached as necessary23:14
CannedCorn left23:15
masando joined23:18
n8o-mba left23:18
Destos left23:18
greymalkin joined23:19
diverdude and if i want to ignore an entire folder called nbproject, i just put nbproject in gitignore?23:20
Martin_ left23:20
greymalkin I have a repo with a support library. There are a few branches for different OS versions (historical stuff). I'm going to be moving the 'src' directories to 'src-OSVERSION' directories -- but merging causes conflicts left-and-right, obviously. Is there a better way to do this and keep history?23:20
_cancerman joined23:21
_cancerman left23:21
canton8 joined23:21
yshh joined23:22
rendar left23:22
Holo_Duke left23:22
iheffner greymalkin: go into each branch and *copy* things into 'src-OSVERSION'. Then merge them all to master and remove the 'src' directory?23:22
ISF joined23:22
canton7 left23:23
airborn left23:24
mcluskydodallas joined23:24
greymalkin iheffner: Hmm... That still has the conflicts where the branches were referring to different OSs with the same source directory...23:26
stringoO joined23:26
btanaka joined23:28
beatak left23:28
iheffner greymalkin: maybe I misunderstood something or don't know how things are x-referenced....23:28
pheaver left23:28
pheaver joined23:28
diverdude if i some submodules in my repo and i want to fetch latest source from one of the submodule, all i need to do is to run git submodule update?23:28
ph^ left23:29
iocor left23:29
tblamer left23:29
duckxx left23:29
erichynds left23:29
canton8 left23:30
iheffner greymalkin: backing up a bit, you are wanting to split the versioned-by-branch src/ into versioned-by-directory src-OSVERSION/; I'm re-thinking about this and where does the merge come in?23:31
greymalkin iheffner: Yes.23:32
So currently there are os4.5 os4.6 os(etc) branches, each with a 'src' directory.23:32
baburdick left23:32
baburdick joined23:33
greymalkin I want to bring them together into a 'osAny' (or eventually, master) branch where each previous 'src' directory is now version-specific.23:33
diverdude RandalSchwartz, do you know?23:34
greymalkin Such that there is one master, with directories src4.5, src4.6, src(etc).23:34
The merge comes in because I want to maintain the history from each branch so that it's obvious how much of a pain it was to maintain them as branches and produce many builds.23:34
jasonbray left23:34
jpmelos joined23:35
greymalkin But after some research, I should be able to (on each branch) move the src to srcVERSION; then when they've all been moved, do a 'resolve' strategy merge. I didn't realize, when I wrote up, that there were as many strategies as there are.23:35
Morphous left23:35
MarcoSousa left23:36
diverdude im asking because it says in the gitbook that the submodules HEAD will be detached, unless --rebase or --merge is specified...how should that be understood?23:36
iheffner ok. I'm not sure I see where you are getting conflicts. You create new directories in each branch and leave the existing one in place.23:36
greymalkin: ^^23:36
greymalkin os4.5:/src vs os4.6:/src = extreme conflicts.23:37
heppy left23:38
iocor joined23:38
diverdude anyone?23:38
iheffner Oh. I gotcha now. so can you remove src/ in each branch? then the rm's won't conflict.23:39
justicefries left23:39
masando left23:40
iheffner diverdude: I think you can cd into that submodule dir and treat it like a regular git repo: git fetch; git merge @{u}; but then you need to go back to the parent project.23:40
butat joined23:40
iheffner diverdude: that will keep the submodule from "losing its head"23:41
jpmelos left23:41
diverdude iheffner, i see23:42
iheffner, what is this git merge @{u}; ?23:42
Chillance left23:42
bolt left23:42
jpmelos joined23:42
greymalkin iheffner: Right. Sorry I wasn't clear.23:42
yshh left23:42
sitaram kjelle: no one seems to have mentioned redmine to you. gitolite + redmine is apparently pretty good too (the KDE guys use that)23:43
macRover joined23:43
dasil003 left23:43
iheffner diverdude: shorthand for "upstream" ; git pull does basically ( git fetch && git merge @{u} )23:44
kevlarman sitaram: redmine was what i was refering to when i mentioned its biggest feature being "it's not trac" :P23:44
icwiener left23:44
TeckniX left23:45
diverdude iheffner, when you say go back to the parent project, do you just mean cd back?23:45
eijk left23:45
iheffner diverdude: yes23:45
mandric left23:46
the_cybersphinx joined23:46
heppy joined23:46
cooloney joined23:47
cybersphinx left23:48
Martin_ joined23:48
macabre left23:49
DarkAR left23:49
diverdude iheffner, awesome. that worked perfectly :) thx man23:49
Agos left23:50
macRover left23:50
Morphous joined23:51
Heimidal joined23:51
butat left23:52
fedesilva left23:52
nevyn left23:53
alexim left23:53
ph^ joined23:54
bolt joined23:54
johnanderson left23:55
nevyn joined23:55
johnanderson joined23:57
rchavik joined23:57
bewartse left23:59
kadoban_ left23:59
Swimming_Bird left23:59

Logs Search ←Prev date Next date→ Channels Documentation