| 2008-11-05 |
| → josh^ joined | 00:00 |
| ← bdiego left | 00:01 |
|
spearce
| not implemented. git-shell is like a 10 line c program, with all of those lines going to the paranoid check for the 3 commands it lets you invoke | 00:01 |
| ← archis left | 00:02 |
|
derRichard
| i see | 00:04 |
|
| i think i'll use openssh's chroot | 00:04 |
|
jast
| note that git needs to be available inside the chroot | 00:05 |
| → kennethlove_ joined | 00:05 |
|
derRichard
| i know :) | 00:05 |
| ← kennethlove_ left | 00:06 |
|
spearce
| derRichard: most people use gitosis for access control over ssh | 00:07 |
|
derRichard
| is gitosis stable? | 00:07 |
|
| hmm gitosis looks good :) | 00:08 |
| ← hoban left | 00:08 |
|
derRichard
| thanks for the hint! | 00:08 |
| ← LiamH left | 00:09 |
| → urbanmonk joined | 00:13 |
| ← naeu left | 00:14 |
| ← mw|out left | 00:20 |
| → paltman_ joined | 00:21 |
| → flaguy joined | 00:21 |
| ← kennethlove left | 00:21 |
| → Fullmoon joined | 00:26 |
| ← ciaran_ left | 00:28 |
| → Ian00 joined | 00:32 |
| → paltman joined | 00:34 |
| ← grahal left | 00:37 |
| → stouset joined | 00:38 |
| ← Niamor left | 00:39 |
| → Niamor joined | 00:39 |
| ← hidek left | 00:47 |
| → Fullmoon_ joined | 00:49 |
| ← digitalhobbit left | 00:50 |
| → EmilMedve joined | 00:51 |
| ← paltman_ left | 00:51 |
| ← threeve left | 00:51 |
| ← davidfetter left | 00:54 |
| ← pygi left | 00:55 |
| → ciaran joined | 00:58 |
| → adamb90 joined | 01:00 |
| ← Fullmoon left | 01:05 |
| ← Pixar- left | 01:05 |
| ← patmaddox left | 01:06 |
| ← robinr left | 01:08 |
| ← bobesponja left | 01:09 |
| ← ahupp|fb left | 01:11 |
| → hidek joined | 01:13 |
| → Flathead joined | 01:14 |
| ← dreiss left | 01:19 |
| ← thannoy left | 01:22 |
| → gretchen joined | 01:22 |
| ← paltman left | 01:25 |
| → ahupp|fb joined | 01:26 |
| ← ceej left | 01:27 |
| ← loiseau left | 01:29 |
| → loiseau joined | 01:29 |
| → pjhyett joined | 01:30 |
| → ben_h joined | 01:30 |
| → craiger_ joined | 01:34 |
| ← dcolish left | 01:35 |
| craiger_ → ThaDon_scorned | 01:35 |
| ← \ask- left | 01:35 |
| ← ThaDon_scorned left | 01:36 |
| ← ashleyw_ left | 01:44 |
| → ashleyw joined | 01:45 |
| ← ashleyw left | 01:46 |
| → ahupp|fb_ joined | 01:50 |
| ← joshdavey left | 01:54 |
| ← loiseau left | 01:58 |
| ← mandric left | 02:01 |
| ← ahupp|fb left | 02:02 |
| → mandric joined | 02:02 |
| → bobmcw joined | 02:03 |
| ← mandric left | 02:03 |
| → sdboyer-laptop joined | 02:06 |
| ← piclez_ left | 02:06 |
| → ekontsevoy joined | 02:09 |
| → electro joined | 02:09 |
| → paltman joined | 02:09 |
|
ekontsevoy
| The man page for git-diff mentions git-diff-tree, git-diff-files commands that I don't have on OSX. What are equivalets of those commands using git -params notation? Or should I install something else to get them? | 02:09 |
|
electro
| does this room provide support for github and git bash? | 02:09 |
| ← davidcramer left | 02:10 |
|
DrNick
| ekontsevoy: you have them, they're required for git to function. they may not be in your path, though | 02:11 |
| → dreiss joined | 02:13 |
|
dsturnbull
| ekontsevoy: probably in /opt/local/bin | 02:14 |
|
ekontsevoy
| dsturnbull: nope. I installed git via Macports and all I have is pretty much just "git" plus git-upload-* and git-receive-* | 02:16 |
|
| DrNick: I'll do find / -name "git*" in a sec.... | 02:16 |
| → joydivider joined | 02:16 |
| ← kanru left | 02:17 |
| ← ahupp|fb_ left | 02:18 |
| ← joydivider_ left | 02:18 |
| → johnw joined | 02:19 |
| → eno__ joined | 02:21 |
| ← joydivider left | 02:22 |
| ← parasti left | 02:26 |
| → piclez_ joined | 02:28 |
| → mandric joined | 02:29 |
| → threeve joined | 02:29 |
| ← freqmod_qu left | 02:29 |
| → freqmod_qu joined | 02:29 |
| → imyousuf joined | 02:31 |
| ← eno left | 02:32 |
| → davidfetter joined | 02:32 |
| ← ekontsevoy left | 02:33 |
| → random8r joined | 02:35 |
| → GNUix joined | 02:38 |
| → paulp joined | 02:40 |
| ← Zimm left | 02:41 |
| ← bobmcw left | 02:43 |
| stouset → stouset|away | 02:46 |
| → Ademan joined | 02:49 |
| ← Ian00 left | 02:49 |
| ← iabervon left | 02:51 |
| ← spearce left | 02:52 |
| → perezd88 joined | 02:53 |
| ← sdboyer-laptop left | 02:54 |
| ← rtomayko left | 02:56 |
| ← eddyp left | 02:59 |
| ← sgrimm left | 03:00 |
| → popol joined | 03:01 |
| → lcantey joined | 03:02 |
| ← random8r left | 03:03 |
|
electro
| Hi. | 03:07 |
| → ahupp|fb joined | 03:10 |
| ← flaguy left | 03:13 |
| ← david_koontz left | 03:14 |
| ← carllerche left | 03:15 |
| ← mandric left | 03:17 |
| → mandric joined | 03:18 |
| → scrooloose joined | 03:19 |
| → kanru joined | 03:21 |
| ← Chicago left | 03:21 |
| → popol_ joined | 03:23 |
| ← popol left | 03:24 |
| → haesbaert joined | 03:26 |
| ← w00t_ left | 03:39 |
| → bo5 joined | 03:41 |
| ← bo5 left | 03:42 |
| Hobbes → Guest71761 | 03:46 |
| → Hobbes`` joined | 03:46 |
| ← jas4711 left | 03:48 |
| → carllerche joined | 03:48 |
| → jas4711 joined | 03:49 |
| ← perezd88 left | 03:51 |
| ← rmh3093 left | 03:52 |
| → rmh3093 joined | 03:52 |
|
haesbaert
| hello there how do I delete a remote branch ? | 03:57 |
|
| I'm trying git-branch -d origin/multi-msnp | 03:58 |
|
| multi-msnp is the name of the remote branch. | 03:58 |
| ← Guest71761 left | 03:59 |
| ← elmex left | 04:00 |
| → elmex joined | 04:02 |
| → jackdempsey_ joined | 04:04 |
| ← ahupp|fb left | 04:06 |
| → nipuL joined | 04:09 |
| → deskin joined | 04:11 |
| ← nipuL left | 04:15 |
| → FunkeeMonk joined | 04:19 |
| ← davidfetter left | 04:20 |
| → cedricv joined | 04:22 |
| ← offby1 left | 04:31 |
| → iabervon joined | 04:32 |
| → mtodd_ joined | 04:33 |
| → offby1 joined | 04:40 |
| ← mtodd left | 04:40 |
| → Ian00 joined | 04:41 |
| → muthu joined | 04:42 |
|
ToxicFrog
| haesbaert: git push <remote> :<branch> | 04:49 |
|
| Eg, git push origin :multi-msnp | 04:49 |
|
bdrewery
| hey while you're on it, how can I push to a new remote branch? | 04:50 |
| → jony joined | 04:51 |
|
bdrewery
| guess just git push origin newbranch | 04:51 |
|
electro
| im trying to push for the first time and i am getting Bad File Number, I was able to git the repo and download files for my working copy but am having trouble pushing my changees. can anyone help a newb get started, im a little bit familar with repo's in genreal but not too much. | 04:52 |
| ← paltman left | 04:52 |
|
bdrewery
| heh | 04:53 |
| ← jackdempsey_ left | 04:56 |
| ← kukks left | 04:57 |
| → mbuf joined | 04:58 |
|
mbuf
| how can I create a single patch for all changes made from first revision? | 04:58 |
| stouset|away → stouset | 04:58 |
|
offby1
| mbuf: "git diff $(git rev-list | tail -1)", I think | 05:01 |
|
mbuf
| offby1: how do i know what is the current revision number it is in? | 05:03 |
|
offby1
| dunno what you mean | 05:03 |
|
| what is "it"? | 05:03 |
|
mbuf
| offby1: I made a change, created a patch; but change was incorrect; to fix it, i created a branch, made the change, and merged back; | 05:04 |
|
offby1
| going to bed now; sorry | 05:04 |
|
mbuf
| offby1: and creating a new patch using git format-patch -1 -p, generates only the later patch, not including the first one | 05:05 |
|
| offby1: ok, later | 05:05 |
|
electro
| bdrewery, im trying out gethub for the first time. | 05:05 |
|
| so i know the actual repo is in place, and i pulled down a file modified it, but im havin' trouble comitting it. | 05:06 |
| ← jony left | 05:06 |
| → SjB joined | 05:07 |
|
bdrewery
| I dunno, I'm new to git too ;) | 05:07 |
| ← nadim left | 05:08 |
| → nadim joined | 05:08 |
| → tjafk2 joined | 05:10 |
|
electro
| im getting somewhere i got a new error. | 05:11 |
| ← bartman left | 05:11 |
| → mtodd joined | 05:14 |
| ← piclez_ left | 05:17 |
| ← tjafk1 left | 05:18 |
| ← mtodd_ left | 05:20 |
| ← dhruvakm left | 05:23 |
| ← beilabs left | 05:23 |
| ← threeve left | 05:23 |
| ← p4tux left | 05:28 |
| → p4tux joined | 05:28 |
| ← p4tux left | 05:29 |
| → jackdempsey_ joined | 05:30 |
| ← electro left | 05:33 |
| ← johnw left | 05:36 |
| ← loincloth left | 05:37 |
| → ahupp|fb joined | 05:39 |
| → jackdempsey__ joined | 05:40 |
| ← Ian00 left | 05:43 |
| → mtodd_ joined | 05:44 |
| ← Jacolyte left | 05:44 |
| → priidu joined | 05:44 |
| → loincloth joined | 05:45 |
| → scientes joined | 05:49 |
| ← niki left | 05:50 |
| ← jackdempsey_ left | 05:50 |
| ← mtodd left | 05:51 |
| ← Fullmoon_ left | 05:55 |
| → SRabbelier joined | 05:56 |
| ← jackdempsey__ left | 05:59 |
| → sgrimm joined | 06:01 |
| → Jacolyte joined | 06:01 |
| ← loincloth left | 06:05 |
| → loincloth joined | 06:06 |
| ← mandric left | 06:07 |
| → reithi joined | 06:08 |
|
mbuf
| is there any good book on git and git workflows? | 06:10 |
| → mikem joined | 06:12 |
| ← selckin left | 06:13 |
|
mikem
| hi, ran into a problem. i have a remote branch, which follows an upstream SVN tree. On this branch I have made some changes. I would now like to rebase, which I have successfully done on my local machine. However, now I try to push this new state of this branch back to the remote machine, but I get a fast-forward error, even with `git push --force`. What's the correct way to achieve this? | 06:14 |
|
| I think it's the same issue described here: http://kerneltrap.org/mailarchive/git/2007/11/18/425729 | 06:15 |
| ← stouset left | 06:16 |
| ← muthu left | 06:17 |
| ← cedricv left | 06:17 |
| ← siprbaum left | 06:17 |
| → stouset joined | 06:17 |
| → mczepiel joined | 06:20 |
| ← pjhyett left | 06:24 |
| ← stouset left | 06:25 |
|
dsturnbull
| i'm trying to figure out how to clone a git repo and allow it to svn dcommit.. the git repo was originally pulled down from svn | 06:27 |
| → litage joined | 06:27 |
| ← markelikalderon left | 06:28 |
| → ceej joined | 06:29 |
|
dsturnbull
| the problem is the git clone doesn't seem to have enough info to push back | 06:30 |
|
| should i just make the git clone as a git-svn clone? | 06:30 |
| ← GNUix left | 06:30 |
| → muthu joined | 06:33 |
| ← releod left | 06:33 |
| → fhobia joined | 06:34 |
| ← madewokherd left | 06:35 |
| ← ahupp|fb left | 06:36 |
| → robinr joined | 06:37 |
| → ahupp|fb joined | 06:40 |
| ← k776 left | 06:43 |
|
mczepiel
| dsturnbull: I think you'd need to pull from the cloned respository back into the one that was git svn cloned, and then git svn dcommit from there | 06:45 |
|
dsturnbull
| yeah, i tried that, but the pull said "no common commits exist" | 06:46 |
| → takayaW joined | 06:46 |
|
mczepiel
| dsturnbull: odd, I know that works...or should | 06:46 |
| → rtomayko joined | 06:49 |
| → brettryan joined | 06:49 |
|
brettryan
| Hello guys, I've got a situation where I have a git repository, now I want the parent directory contained in that git repo, how would I go about doing this without loosing history? | 06:51 |
| ← fhobia left | 06:51 |
|
brettryan
| say I have foo/bar, where bar is managed by git, but now I want foo to also be managed by git. | 06:51 |
| ← coshx left | 06:53 |
| ← bronson left | 06:53 |
|
brettryan
| One solution would be to create a folder in bar - called `bar' the original `bar' to the new folder, then copy the contents of the parent folder in. | 06:53 |
| ← SjB left | 06:54 |
| → Mario joined | 06:55 |
| ← ahupp|fb left | 06:55 |
| → bartman joined | 06:58 |
| ← robinr left | 07:05 |
| ← priidu left | 07:10 |
| ← sgrimm left | 07:11 |
| ← stephenos left | 07:12 |
| → priidu joined | 07:13 |
| ← chrizz left | 07:15 |
| ← ben_h left | 07:18 |
| ← litage left | 07:20 |
| → fhobia joined | 07:20 |
| ← rtomayko left | 07:20 |
| → Marmouset joined | 07:22 |
| → sstangl joined | 07:25 |
| → mtodd joined | 07:29 |
| → a_l_e joined | 07:30 |
| ← dmq left | 07:32 |
| → dmq joined | 07:32 |
| ← mtodd_ left | 07:36 |
| ← rmh3093 left | 07:36 |
| ← ceej left | 07:37 |
| → ciskje joined | 07:39 |
| ← ciskje left | 07:40 |
| → ciskje joined | 07:40 |
| ← ciskje left | 07:41 |
| → ciskje joined | 07:41 |
| → Jaap joined | 07:45 |
|
Jaap
| Hello | 07:45 |
| → reel_ joined | 07:46 |
|
Jaap
| Bit of a newbie question here, but docs for rm, add, status, or reset didn't appear to have what I look for. | 07:46 |
|
| I've made some fairly invasive changes in my working directory. | 07:46 |
|
| git status lists over 40 deleted files. | 07:47 |
|
| Not easily globbable. | 07:47 |
|
| How can I tell Git that it needs to rm all those files from the index? | 07:47 |
|
| With files added it's always easy, git add . will add everything, which does no harm if a file was already added. | 07:48 |
|
| In the case of an rm however, I can't do a global wildcard. | 07:48 |
|
| Basically, I want to tell Git, make my index what the working directory is like.\ | 07:48 |
|
| I'll have another look at git reset | 07:48 |
|
jdq
| git commit . maybe? | 07:48 |
| → bentob0x joined | 07:49 |
|
jdq
| that will commit any files that are on the index... so deleted files will be removed and changed files will be commited... unversioned files remain untouched | 07:49 |
|
Jaap
| My deleted files aren't marked as such yet in the index. | 07:50 |
|
| Basically, I went behind Git's back, and deleted files by hand. | 07:50 |
|
mikem
| Jaap: how about `git add .` ? | 07:50 |
|
Jaap
| That won't update the deleted files. | 07:50 |
| ← Marmouset left | 07:51 |
|
mikem
| then try `git rm <files>` | 07:51 |
| ← vasandgvd left | 07:51 |
|
jdq
| they are shown as deleted in in git status but not commited as those if you do git commit .? | 07:51 |
|
Jaap
| I know that git rm <files> will work, but the glob is entirely non trivial. | 07:52 |
|
| Alternatively, I could pipe the output of git status into git rm. | 07:52 |
|
| I found a simple way, 30 mouse-clicks in git-gui did the trick. | 07:53 |
|
mbuf
| guilt patch series is specific to a branch? | 07:53 |
|
Jaap
| Not really the proper way, but oh well. | 07:53 |
|
jdq
| git ls-files --deleted | 07:53 |
|
Jaap
| Thanks guys | 07:53 |
|
mikem
| Jaap: Yeah, output of `git status` isn't exactly sed-friendly | 07:53 |
|
| :) | 07:53 |
|
Jaap
| Thanks jdq! | 07:53 |
|
mikem
| jdq: neat :D | 07:53 |
|
jdq
| but git commit -a is what makes the index like the working copy... (despite from untracked files) | 07:56 |
| ← careo left | 07:57 |
| ← takayaW left | 07:58 |
| → jony joined | 08:01 |
| → lucsky joined | 08:02 |
|
lucsky
| 'morning | 08:02 |
| ← felipec left | 08:03 |
| ← carllerche left | 08:05 |
| → quoin- joined | 08:06 |
| → koke joined | 08:08 |
| ← quoin left | 08:10 |
| → nud joined | 08:11 |
| → tritz joined | 08:11 |
| → nadim_ joined | 08:18 |
| → loiseau joined | 08:18 |
|
nadim_
| given a 'Merge with strategy recursive failed' when I do a git pull. How can I say take the one from origin and be done? | 08:19 |
| ← Ademan left | 08:24 |
| → charon joined | 08:24 |
| → ph^ joined | 08:28 |
| → drizzd joined | 08:31 |
| ← Mario left | 08:32 |
| → ankit9 joined | 08:35 |
| ← sdboyer|ecrire left | 08:39 |
| ← adamb90 left | 08:40 |
| → mediogre joined | 08:42 |
| ← CodeOfficer left | 08:45 |
| ← drizzd_ left | 08:46 |
| → siprbaum joined | 08:48 |
| → naeu joined | 08:53 |
| → sciz joined | 08:54 |
| → cilly joined | 08:58 |
| → muthu_ joined | 09:01 |
| ← muthu_ left | 09:01 |
| → lamont` joined | 09:02 |
| ← muthu left | 09:02 |
| → Shilin3 joined | 09:07 |
| ← lamont left | 09:08 |
| lamont` → lamont | 09:09 |
| ← iulian left | 09:12 |
| ← mczepiel left | 09:13 |
| → Pupeno-M joined | 09:13 |
| ← dreiss left | 09:14 |
| → felipec joined | 09:15 |
| → cradek_ joined | 09:16 |
| ← cradek left | 09:16 |
| → mithro joined | 09:16 |
| → powerfox joined | 09:21 |
| → Mario joined | 09:21 |
|
powerfox
| Is there any git-perforce tool similar to git-svn? Google knows only import perforce repo to git tool, not the thing I need :( | 09:21 |
|
| Oh, there is git-p4. Is it safe to use? | 09:22 |
| ← cilly left | 09:26 |
|
thiago_home
| yes | 09:27 |
|
| I used it for well over a year | 09:27 |
|
nud
| I guess it is, Qt people used it for a long time | 09:28 |
|
thiago_home
| we based our import on it | 09:28 |
| ← mikem left | 09:29 |
|
powerfox
| thiago_home: thanks. Now I feel save :) | 09:30 |
|
| nud: thanks | 09:31 |
| ← mtodd left | 09:31 |
| → mtodd joined | 09:32 |
| ← boto left | 09:32 |
| ← hpa left | 09:32 |
| ← jriga_ left | 09:37 |
| ← archis_ left | 09:39 |
| ← tango_ left | 09:41 |
| → shodges joined | 09:41 |
| ← shodges left | 09:41 |
| → LotR joined | 09:47 |
| → hpa joined | 09:48 |
| → zumbrunn joined | 09:49 |
|
samjam
| When git diff is applied to a commit where an empty file was deleted, the resulting patch looks something like this (below); which the patch program rejects, saying "patch: **** Only garbage was found in the patch input." | 09:50 |
|
| diff --git a/source3/include/dcerpc.h b/source3/include/dcerpc.h | 09:50 |
|
| new file mode 100644 | 09:50 |
|
| index 0000000..e69de29 | 09:50 |
|
| It's hardly git's fault that it spits out a patch that patch is too dumb to interpret | 09:50 |
|
| Does anyone have experience on the issue; is it worth optionally generating a patch like this? | 09:51 |
|
| diff -Nru 1/here 2/here | 09:51 |
|
| --- 1/here 2008-11-05 09:43:55.000000000 +0000 | 09:51 |
|
| +++ 2/here 2008-11-05 09:43:58.000000000 +0000 | 09:51 |
|
| @@ -0,0 +1 @@ | 09:51 |
|
| + | 09:51 |
|
| diff -Nru 1/here 2/here | 09:51 |
|
| --- 1/here 2008-11-05 09:37:23.000000000 +0000 | 09:51 |
|
| +++ 2/here 1970-01-01 01:00:00.000000000 +0100 | 09:51 |
|
| @@ -1 +0,0 @@ | 09:51 |
|
| - | 09:51 |
|
| which makes the file non-empty and then lets it be deleted? | 09:51 |
|
| charon points at where it says 'pastebin' in the topic | 09:52 |
| → swhitt joined | 09:53 |
|
| samjam wonders how much is enough for the pastebin | 09:53 |
| ← Jaap left | 09:54 |
|
charon
| dunno. may want to search the list archives btw, i remember linus commenting on that 1970-01-01 magic timestamp a month or two ago | 09:55 |
|
samjam
| thanks. | 09:56 |
| → OlofS joined | 10:04 |
| → Guest51976 joined | 10:05 |
| ← bartman left | 10:07 |
| ← jony left | 10:09 |
| → jony joined | 10:09 |
|
powerfox
| Can someone please give me some git-perforce assistance? I did git-p4 sync //depo, so I have a full log, but no git objects... | 10:11 |
| → pantsman joined | 10:14 |
| ← kobani left | 10:15 |
| ← Jacolyte left | 10:19 |
|
imarcusthis
| is there something like git-svn that works the other way? | 10:22 |
|
cehteh
| doesnt git-svn work in both ways? | 10:22 |
| ← sciz left | 10:23 |
| → cilly joined | 10:23 |
| → hurikhan|Work joined | 10:25 |
| ← FunkeeMonk left | 10:27 |
|
samjam
| I think it does; there are two git svn tools, I think one is git-svnimport or something which is not two-way and seems to be out of favour these days | 10:27 |
| → stouset joined | 10:27 |
| → tango_ joined | 10:27 |
|
samjam
| git-svn dcommit will commit to svn | 10:28 |
| → LuboC joined | 10:28 |
| ← stouset left | 10:28 |
| ← Guest51976 left | 10:31 |
|
thiago_home
| powerfox: git p4 clone //depot/project/main@all | 10:32 |
| ← mithro left | 10:33 |
|
thiago_home
| add --detect-branches and drop "main" if you have proper branch descriptions (p4 branches) | 10:33 |
|
powerfox
| thiago_home: neither git-p4 clone "--detect-branches //all_in1/simplelib@all" or "git-p4 clone //all_in1/simplelib/main@all" didn't help. In all cases I get "Could not detect main branch. No checkout/master branch created." In second also "No changes to import!" | 10:37 |
|
| all_in1 is a client name | 10:37 |
|
| client shows | 10:38 |
|
| "//simplelib/... //all_in1/simplelib/..." simplelib is a depo. | 10:38 |
| ← cilly left | 10:42 |
| → clairvy joined | 10:45 |
|
imarcusthis
| cehteh: i meant, something that lets svn users commit to a git repository. | 10:46 |
|
cehteh
| isnt that what git-svn does? | 10:47 |
|
doener
| I think he means something like git-cvsserver, but for svn | 10:49 |
| → parasti joined | 10:49 |
|
cehteh
| git storage backend for svn :) | 10:51 |
|
samjam
| So it seems that the only problem is when an empty file is removed for which there is no 1-step patch equivalent, git handles the case when a non-empty file is removed | 10:55 |
| → seezer joined | 10:55 |
| ← seezer left | 10:55 |
| → seezer joined | 10:55 |
| ← felipec left | 10:56 |
| → cedricv joined | 10:58 |
| ← tritz left | 10:59 |
| ← jamesm_ left | 11:00 |
| ← naeu left | 11:01 |
| → stouset joined | 11:02 |
| → Dark_Shikari joined | 11:02 |
| → bschindler joined | 11:03 |
| → naeu joined | 11:03 |
|
Dark_Shikari
| bah, I forgot how to go back and edit a past commit that wasn't the previous one | 11:03 |
|
| whats the command again? | 11:03 |
|
Mikachu
| man | 11:05 |
|
Dark_Shikari
| I already read through it, none of its obvious | 11:05 |
|
| much like all git commands | 11:05 |
|
Mikachu
| are you thinking of git rebase -i? | 11:05 |
| ← tango_ left | 11:06 |
|
Dark_Shikari
| seems so | 11:06 |
|
| ok, now that I'm done with that, I have the following issue | 11:07 |
|
| I have changes A, B, and C. | 11:07 |
|
| I pushed change A, then change B, and then I made C locally. | 11:07 |
|
| Change A had a typo, so I corrected it and want to force an update when I push again, to correct history. | 11:08 |
|
| But I don't want to push C. | 11:08 |
|
| I've corrected things locally, now I have to push the changes--without pushing C. | 11:08 |
| → xjjk joined | 11:08 |
|
Dark_Shikari
| what's the easiest way to do this? | 11:08 |
|
| other than just rolling back A, B, and C, both locally and repo-side, and redoing them all | 11:08 |
| → Sho_ joined | 11:11 |
|
Dark_Shikari
| hmm, nvm, got it. I just killed commit C | 11:11 |
| ← imyousuf left | 11:12 |
| ← Dark_Shikari left | 11:12 |
|
bschindler
| Hi, I removed some binary data from git because it started to take too much space. But after removing it, the .git dir is obviously still very large. Is there a way to remove those two commits (adding binary data, removing it) so the .git dir will again be small? | 11:16 |
| ← gretchen left | 11:17 |
| ← CelticSoul left | 11:18 |
|
charon
| git rebase -i if your history is linear, git filter-branch otherwise | 11:18 |
|
| then you'll have to git reflog expire and git gc to get rid of the associated objects | 11:18 |
|
| make a backup first, all of those are sort of destructive | 11:18 |
|
bschindler
| I've got a remote ^^ | 11:18 |
| ← clairvy left | 11:19 |
| → therrg joined | 11:19 |
| ← OlofS left | 11:20 |
| ← not-xjjk left | 11:21 |
| → earcar joined | 11:21 |
| → lorandi joined | 11:21 |
| ← therrg left | 11:22 |
| → muthu_ joined | 11:26 |
| → harinath joined | 11:27 |
| cbrake_away → cbrake | 11:32 |
| ← muthu_ left | 11:33 |
| ← earcar left | 11:33 |
| ← mdalessio left | 11:35 |
|
nadim_
| given a 'Merge with strategy recursive failed' when I do a git pull. How can I say take the one from origin and be done? | 11:38 |
|
vmiklos
| git reset --hard origin/master? | 11:39 |
|
doener
| heh :-) | 11:39 |
|
bschindler
| charon: I don't quite see how to do the rebase. I've got an almost linear history. But git-rebase -I gives me a noop - so I don't seem to understand exactly what I'm supposed to do :) | 11:39 |
| ← jony left | 11:40 |
| ← ankit9 left | 11:40 |
|
doener
| bschindler: you need to give the parent of the first commit that you want to edit/drop/reorder as upstream to rebase -i | 11:40 |
|
bschindler
| hmm okay... | 11:41 |
| ← popol_ left | 11:41 |
|
bschindler
| doener: now something bad just happened. I just checked out an earlier commit to save some of the files somewhere else, but now HEAD is on this early commit - is it not possible to get back to head? | 11:41 |
|
doener
| git rebase -i <upstream> <branch> operates on the commits <upstream>..<branch>, and <branch> defaults to the current one | 11:41 |
|
| if you used "git checkout <commit>" you're on a detached HEAD now (git branch says "no branch") | 11:42 |
|
| just check out your branch again | 11:42 |
| → tango_ joined | 11:42 |
|
bschindler
| ah | 11:42 |
| → shenie joined | 11:42 |
|
doener
| if you had used "git reset <commit>" you're branch would have been affected, and then you could use the reflog to find the other commit to reset back to it, JFYI | 11:43 |
| → boto joined | 11:44 |
| ← boto left | 11:44 |
| ← urbanmonk left | 11:45 |
| → jnareb joined | 11:51 |
| → grahal joined | 11:52 |
| ← fhobia left | 11:53 |
| ← shenie left | 11:56 |
| → reel__ joined | 11:57 |
|
jnareb
| Pieter: I have thought about adding the reverse of /whois, namely resolving real names (as they appear in commit messages) to IRC nicks to GitBot... till I realized that GitBot is written in Ruby, programming language which I have no experience with | 11:57 |
| → Ryback_ joined | 11:57 |
| → tritz joined | 11:58 |
| → mdalessio joined | 12:03 |
|
Pieter
| jnareb: ah :( If you have a design or so in mind on how to do it, if you send it to me I can create it | 12:03 |
| ← stouset left | 12:05 |
|
jnareb
| Pieter: how about "!nick A U Thor" trigger? | 12:06 |
|
Pieter
| jnareb: should be doable ($nick though).. where should it get the info? | 12:07 |
|
bschindler
| one question. Now when I'm done with rebasing (deleting two commits) - what happens when I do a git pull? I want those commits to be removed from my primary remote and then in the end on the other checkouts on other machines | 12:10 |
|
jnareb
| Pieter: from /whois realname; I don't know what library for IRC interaction it uses. either scan list of users every hour for example, checking nicknames which are not in database, and taking care to not flood the server, or check on join... | 12:10 |
| ← Flathead left | 12:12 |
|
jnareb
| bschindler: I don't know what you want to do exactly, but it might require pushing (or pulling) with the --force option or equivalent... unless you did change in unpublished part of history (generally changing published history is frowned upon, because it causes trouble for your downloaders/forkees) | 12:14 |
| ← reel_ left | 12:15 |
|
bschindler
| jnareb: Well, I understand that. I'm the only one checking out from this repository, so I can live with this | 12:15 |
| → ben_h joined | 12:15 |
| → bobmcw joined | 12:18 |
|
bschindler
| Okay, I have rebased now, but I'm not sure what's going on now: I got a Could not apply 178957f... Merge branches 'master' and 'viewer'. git status shows me 'not currently on any branch, nothing to commit'. What should I do now? | 12:25 |
|
jnareb
| bschindler: are you sure that you are not in the middle of conflicted rebase? e.g. forgot "git rebase --continue"? | 12:26 |
|
bschindler
| jnareb: this could very well be, but how can I resolve the conflicts? | 12:26 |
|
jnareb
| bschindler: if you are not, you cannot rebase on detached HEAD; you must first create a new branch ("git checkout -b <newbranch>") | 12:26 |
|
bschindler
| I mean, I don't see what's causing a conflict | 12:26 |
|
jnareb
| bschindler: git status, or git diff, or git ls-files -u | 12:27 |
|
bschindler
| jnareb: I rebased on master, not on detached head | 12:27 |
|
jnareb
| bschindler: and resolving conflict is editing conflicted files, "git add <file>" after resolving conflict, and then "git rebase --continue" (or "git rebase --skip" if you have removed all changes...) | 12:28 |
|
bschindler
| well I did a git status and didn't show any issues. I just continued and it seemd to have worked | 12:29 |
| ← cout left | 12:31 |
| ← bobmcw left | 12:32 |
| → cout joined | 12:32 |
| → releod joined | 12:34 |
|
bschindler
| jnareb: hmm... git gc did not really remove a lot. My pack file is still about 300mb's large. Is there a way to find out why? | 12:35 |
|
jnareb
| I don't know... note that git-gc still keeps objects pinned by reflog (up to reflog expire time)... either expiring reflogs (and losing undo info), or trying to pack righter with larger window and delta length size (see VCSCompare blog entry on this) could help (force repack, because otherwise git would keep old deltas etc.) | 12:38 |
| ← mdalessio left | 12:43 |
| → boto joined | 12:44 |
| → tvw joined | 12:45 |
| dwmw2_gone → dwmw2 | 12:45 |
| cradek_ → cradek | 12:47 |
| → mbuf` joined | 12:48 |
| ← pantsman left | 12:48 |
|
bschindler
| jnareb: in the reflog, I've got the checkout I did earlier which could cause this. I tried a git reflog expire e4d3e80..., but it told me that it points nowhere... | 12:49 |
| ← mbuf left | 12:50 |
| ← EmilMedve left | 12:50 |
|
jnareb
| bschindler: "git reflog expire --expire-unreachable=now --verbose <branch name>" then "git gc --prune" (and perhaps "git prune") | 12:51 |
|
| bschindler: perhaps git reflog expire --dry-run first | 12:51 |
| → markelikalderon joined | 12:55 |
|
bschindler
| jnareb: that won't work either :(... I'm just thinking about creating a new tree and applying all the commits onto that new tree... is this kinda possible in git? | 12:56 |
| → cilly joined | 12:56 |
|
bschindler
| there aren't a lot of commits, so this should be pretty quick | 12:57 |
| ← LuboC left | 13:01 |
|
jnareb
| or just delete reflog, and check with "git fsck" if the commits you deleted are really unreachanble... | 13:02 |
| ← markelikalderon left | 13:04 |
| ← koke left | 13:04 |
| → markelikalderon joined | 13:04 |
|
jnareb
| checking with "git fsck" if commit is really unreachable is a good idea anyway to check if you have truly deleted the commits you want to expunge from reflog (or just try "git reflog show <refname>") | 13:05 |
| dwmw2 → dwmw2_gone | 13:06 |
| → LuboC joined | 13:06 |
| ← LuboC left | 13:07 |
| → markelik_ joined | 13:08 |
|
jnareb
| Pieter: about GitBot $nick service: take note that one person can use a few different nicknames, like Petr Baudis with pasky, kampasky and gitsky | 13:08 |
| ← CIA-2 left | 13:10 |
|
doener
| says shadehawk ;-) | 13:11 |
| → oto joined | 13:11 |
| ← oto left | 13:11 |
|
jnareb
| true | 13:12 |
| → CIA-2 joined | 13:15 |
|
jnareb
| usually there is a reason or season, like (from what I guess) Petr using pasky and kampasky on different machines, and gitsky for GitTogether | 13:15 |
|
| or me using jnareb and ShadeHawk in different IRC clients | 13:15 |
|
doener
| I didn't meant to criticize that, just wondered why you took pasky as an example ;-) | 13:18 |
|
jnareb
| well, that what came to mind... | 13:18 |
| ← cilly left | 13:20 |
| ← deskin left | 13:20 |
| → LiamH joined | 13:23 |
| ← markelikalderon left | 13:23 |
|
jnareb
| See you later | 13:23 |
| ← jnareb left | 13:23 |
| ← cedricv left | 13:24 |
| → stouset joined | 13:24 |
| ← markelik_ left | 13:27 |
| → jriga joined | 13:28 |
| ← Mario left | 13:35 |
| → Beket joined | 13:38 |
| ← mbuf` left | 13:39 |
| ← ben_h left | 13:39 |
| ← reel__ left | 13:39 |
| ← mtodd left | 13:39 |
| ← lamont left | 13:39 |
| ← nadim_ left | 13:39 |
| ← nud left | 13:39 |
| ← reithi left | 13:39 |
| ← SRabbelier left | 13:39 |
| ← tjafk2 left | 13:39 |
| ← lcantey left | 13:39 |
| ← sugi left | 13:39 |
| ← awarde left | 13:39 |
| ← ft left | 13:39 |
| ← jackdempsey left | 13:39 |
| ← Hallin left | 13:39 |
| ← vbgunz__ left | 13:39 |
| ← ruphy left | 13:39 |
| ← mpr left | 13:39 |
| ← dirker left | 13:39 |
| ← dkr left | 13:39 |
| ← precision left | 13:39 |
| ← masterdriverz left | 13:39 |
| ← Thumper_ left | 13:39 |
| ← Jc2k left | 13:39 |
| ← broonie left | 13:39 |
| ← GarethAdams left | 13:39 |
| ← RandalSchwartz left | 13:39 |
| ← Illocution left | 13:39 |
| ← AlexanderS left | 13:39 |
| ← resmo left | 13:39 |
| ← redondos left | 13:39 |
| ← cardioid left | 13:39 |
| ← jmspeex left | 13:39 |
| ← jpeeler left | 13:39 |
| ← mika left | 13:39 |
| → vbgunz__ joined | 13:39 |
| → mbuf` joined | 13:40 |
| → ben_h joined | 13:40 |
| → reel__ joined | 13:40 |
| → mtodd joined | 13:40 |
| → lamont joined | 13:40 |
| → nadim_ joined | 13:40 |
| → nud joined | 13:40 |
| → reithi joined | 13:40 |
| → SRabbelier joined | 13:40 |
| → tjafk2 joined | 13:40 |
| → sugi joined | 13:40 |
| → awarde joined | 13:40 |
| → ft joined | 13:40 |
| → jackdempsey joined | 13:40 |
| → Hallin joined | 13:40 |
| → ruphy joined | 13:40 |
| → mpr joined | 13:40 |
| → redondos joined | 13:40 |
| → jpeeler joined | 13:40 |
| → mika joined | 13:40 |
| → GarethAdams joined | 13:40 |
| → jmspeex joined | 13:40 |
| → RandalSchwartz joined | 13:40 |
| → resmo joined | 13:40 |
| → precision joined | 13:40 |
| → dkr joined | 13:40 |
| → Thumper_ joined | 13:40 |
| → dirker joined | 13:40 |
| → Illocution joined | 13:40 |
| → masterdriverz joined | 13:40 |
| → cardioid joined | 13:40 |
| → AlexanderS joined | 13:40 |
| → broonie joined | 13:40 |
| → Jc2k joined | 13:40 |
| → _zack joined | 13:40 |
| ← mbuf` left | 13:41 |
| ← broonie left | 13:41 |
| → broonie joined | 13:41 |
| ← ruphy left | 13:41 |
|
_zack
| if not, is there any deep reason for that? | 13:41 |
| ← Illocution left | 13:42 |
| → Illocution joined | 13:42 |
| → jriga_ joined | 13:43 |
| ← jriga left | 13:43 |
| → qrush joined | 13:49 |
| ← ben_h left | 13:51 |
| → ben_h joined | 13:51 |
|
parasti
| _zack: if not what? it seems your question went missing | 13:55 |
|
_zack
| ah, trying again | 13:55 |
|
| is it possible to restrict the DenyNonFastForward setting to a specific branch (pattern) ? | 13:55 |
| → kukks joined | 13:55 |
|
_zack
| parasti: better now? | 13:55 |
|
parasti
| much better | 13:56 |
| → name joined | 13:56 |
| → rdavila joined | 13:56 |
| ← rdavila left | 13:57 |
| ← a-atwood_ left | 13:58 |
| → a-atwood joined | 13:58 |
| → mw__ joined | 14:02 |
| → coshx joined | 14:06 |
| ← stuffcorpse left | 14:07 |
| → stuffcorpse joined | 14:07 |
| → muthu joined | 14:11 |
| → juanjoc joined | 14:12 |
| ← Beket left | 14:15 |
| → EmilMedve joined | 14:15 |
| → bdiego joined | 14:16 |
| → bartman joined | 14:16 |
| → SjB joined | 14:20 |
| ← nud left | 14:21 |
| → clairvy joined | 14:24 |
| → litage joined | 14:24 |
| → nud_ joined | 14:25 |
| → selckin joined | 14:25 |
| → threeve joined | 14:26 |
| ← EmilMedve left | 14:26 |
| ← vmiklos left | 14:30 |
| → vmiklos joined | 14:30 |
| → koke joined | 14:30 |
| → harinath1 joined | 14:32 |
| → bronson joined | 14:32 |
| ← tchan left | 14:36 |
| → tchan joined | 14:37 |
| ← telmich left | 14:37 |
| ← stouset left | 14:39 |
| ← clairvy left | 14:39 |
|
madduck
| _zack: no, not possible, unless you write a hook. | 14:40 |
|
| the setting is black-white | 14:40 |
|
| a receive hook should be able to do that though | 14:40 |
|
litage
| is it possible to determine the latest commit to affect a specific line in a specific file? | 14:40 |
|
Mikachu
| litage: git blame file | 14:40 |
| ← krh left | 14:40 |
|
madduck
| litage: pickaxe | 14:40 |
|
_zack
| madduck: thanks | 14:40 |
|
litage
| thanks guys, reading manpages now.. | 14:40 |
|
madduck
| litage: git blame is better\ | 14:40 |
|
| (for this) | 14:40 |
|
doener
| pickaxe is long deprecated and just an alias for blame nowadays | 14:40 |
| → EmilMedve joined | 14:41 |
| → krh joined | 14:41 |
|
madduck
| i didn't know that. :) | 14:41 |
|
cbreak
| git log file? | 14:41 |
| → clairvy joined | 14:41 |
|
madduck
| git log is awesome too | 14:41 |
|
Mikachu
| i think pickaxe in gitweb does git log -S, fwiw | 14:41 |
| → Yuuhi joined | 14:41 |
|
doener
| cbreak: that's not for a specific line though. At least not easily | 14:41 |
|
cbreak
| hmm... it works if the file only has one line... | 14:43 |
|
| admitedly a special case. | 14:43 |
|
doener
| heh | 14:43 |
| ← harinath left | 14:44 |
| ← clairvy left | 14:44 |
| harinath1 → harinath | 14:44 |
| → d0k joined | 14:45 |
| → clairvy joined | 14:46 |
| ← scientes left | 14:50 |
| → scientes joined | 14:54 |
| → jelmer joined | 14:54 |
| → willb joined | 14:54 |
| → kmap joined | 14:58 |
| ← ben_h left | 14:58 |
| → gercokees joined | 14:58 |
| ← reithi left | 14:59 |
| → rdavila joined | 15:00 |
| ← _zack left | 15:01 |
| → bobesponja joined | 15:02 |
| ← loincloth left | 15:02 |
| ← Sho_ left | 15:02 |
|
qrush
| git log --pretty=format:%H origin..HEAD | 15:05 |
|
| that's not working for my current repo...any reasons why? | 15:05 |
|
| fatal: ambiguous argument 'origin..HEAD': unknown revision or path not in the working tree. | 15:05 |
|
| Use '--' to separate paths from revisions | 15:05 |
|
| this worked fine on Ubuntu but not on osx | 15:05 |
|
shd
| try: git remote add origin REPOPATH | 15:08 |
| → ben_h joined | 15:08 |
|
qrush
| fatal: remote origin already exists. | 15:09 |
|
shd
| does origin/master work? | 15:09 |
|
doener
| origin == origin/HEAD, IIRC you get that only from git clone | 15:09 |
|
| just use the "real" remote tracking branch instead, eg. origin/master | 15:10 |
|
qrush
| so git remote add origin/master REPOPATH worked | 15:10 |
|
| but that doesn't help the log command any | 15:10 |
| → stephenos joined | 15:10 |
|
qrush
| or are you saying i have to push to origin/master now | 15:11 |
|
doener
| adding a remote called origin/master is, uhm, "unusual" | 15:11 |
|
| qrush is very confused. | 15:11 |
|
doener
| see, your remote is/was called "origin", right? | 15:11 |
|
qrush
| yes | 15:11 |
|
doener
| then you have remote tracking branches like origin/master, origin/foo etc. | 15:11 |
|
| and when "git clone" created that remote, you also get origin/HEAD | 15:12 |
| ← powerfox left | 15:12 |
|
doener
| and _if_ origin/HEAD exists, you can just use "origin" instead of "origin/HEAD" | 15:12 |
|
| normally, when using just "origin", you mean the remote, but "git log" expects a committish (commit, branch, remote tracking branch, whatever) | 15:13 |
|
qrush
| So what is that log command trying to do then? | 15:13 |
|
doener
| and then "origin" is expanded to "origin/HEAD" | 15:13 |
|
| in your case, you probably don't have origin/HEAD, so "origin" can't be found | 15:13 |
|
| you should just use the actual remote tracking branch you're interested in instead | 15:14 |
|
| git log origin/master.. | 15:14 |
| ← bronson left | 15:14 |
|
doener
| or git log origin/foo.. if you're interesting in origin/foo and not in origin/master | 15:14 |
| → ltbarcly joined | 15:14 |
|
shd
| qrush: you should delete the remote name "origin/master" first.. it makes git syntax ambiguous | 15:14 |
|
qrush
| i already deleted it. | 15:15 |
|
ltbarcly
| how can I revert a file to a previous version? | 15:16 |
|
| I have tried for about an hour, all I can get it to do is move the entire repository to a previous commit | 15:16 |
|
cbreak
| you can git checkout it | 15:16 |
|
qrush
| I'm still confused about what to do about this log command | 15:16 |
|
ltbarcly
| I tried that every which way | 15:16 |
|
| git checkout hash:filename | 15:16 |
|
| git checkout filename hash | 15:16 |
|
| git checkout hash filename | 15:16 |
|
qrush
| git log --pretty=format:%H origin..HEAD < what is that trying to do | 15:16 |
|
ltbarcly
| I can't find an example anywhere | 15:16 |
|
shd
| ltbarcly: git checkout OLDCOMMIT -- filename ; git commit ... | 15:17 |
|
cbreak
| git checkout hash -- file | 15:17 |
|
ltbarcly
| thaks! | 15:17 |
|
cbreak
| you need to git add it too | 15:17 |
|
| if you want :) | 15:17 |
| → leavengood joined | 15:17 |
| → FunkeeMonk joined | 15:18 |
|
ltbarcly
| that worked well, thanks so much | 15:18 |
|
phrixos
| Suppose I have two branches, 'a' and 'b', and 'a' is a parent of 'b' | 15:18 |
|
qrush
| ok...it's <since>...<until> | 15:18 |
|
phrixos
| is there are a way of finding out how many commits there are between a and b? | 15:18 |
|
ltbarcly
| that should be in the docs somewhere! | 15:19 |
|
phrixos
| diff or diff-tree don't suggest anything interesting | 15:19 |
| → rmh3093 joined | 15:19 |
|
phrixos
| i suppose i could log and then wc -l | 15:20 |
|
leavengood
| phrixos: I was thinking along those lines | 15:21 |
|
phrixos
| i guess that'll have to do it | 15:23 |
|
qrush
| so what this log command is trying to do is similar to phrixos' request | 15:24 |
|
| it wants to list the commits that aren't pushed yet | 15:24 |
|
| so origin..HEAD | 15:24 |
| → spearce joined | 15:24 |
|
qrush
| this DEFINITELY worked on my copy of the repo on Ubuntu. | 15:24 |
|
| I really don't get why this isn't working on my copy of the repo in OSX. | 15:24 |
| ← scientes left | 15:25 |
| → paltman joined | 15:25 |
| ← clairvy left | 15:25 |
|
shd
| qrush: note: a..b is not the same as a...b | 15:26 |
| ← CIA-2 left | 15:26 |
|
qrush
| Well, neither work. | 15:26 |
|
| http://pastie.org/298043 | 15:27 |
|
| It's part of this series of commands. | 15:27 |
| → LuboC joined | 15:27 |
| → aroben joined | 15:27 |
| ← eternaleye left | 15:27 |
| ← derRichard left | 15:28 |
| ← spearce left | 15:28 |
| → sdboyer joined | 15:28 |
|
leavengood
| I built git from its repo last night and git submodules is not working on another project (which I am new on) | 15:29 |
| → CIA-2 joined | 15:30 |
|
leavengood
| which branch should I build from for a stable git? | 15:30 |
|
| maint? | 15:30 |
| ← EmilMedve left | 15:31 |
| → gma joined | 15:31 |
| ← ben_h left | 15:31 |
|
gma
| is it a bad idea to copy a repo to another host then run "git remote add srchost ssh://srchost.lan/path/to/repo" ? | 15:31 |
|
| I'm finding I can't push/pull between them, and get "error: remote 'refs/heads/master' is not a strict subset of local ref 'refs/heads/master'" when I push back to srchost... | 15:32 |
| ← mw__ left | 15:32 |
| ← bschindler left | 15:32 |
| → bschindler joined | 15:33 |
| → diskussions_D joined | 15:34 |
| → aroben_ joined | 15:36 |
| → stouset joined | 15:37 |
| ← quoin- left | 15:38 |
| → davidfetter joined | 15:39 |
| → girishr joined | 15:40 |
| → careo joined | 15:41 |
|
qrush
| well, i solved it by blowing away my repo, and cloning again | 15:41 |
|
| sucks but now what i wanted works | 15:41 |
| → Araneidae joined | 15:41 |
|
Araneidae
| How do I see what the origin of my repository is? (I think I have more than one...) | 15:42 |
| → incidence joined | 15:42 |
|
Araneidae
| Ah: .git/config -- but I don't understand what it means to have two or more remotes! | 15:43 |
|
incidence
| Hey, does Git have "versioning" files like SVN has "$Id" "$Author" or something? | 15:44 |
|
PerlJam
| incidence: why do you ask? | 15:44 |
| → bobmcw joined | 15:44 |
|
diskussions_D
| Doh.. I just did a git merge --ff branch_name when I meant to do a git merge --no-ff branch_name is there a way to revert that change somehow? | 15:44 |
|
PerlJam
| incidence: are you going to perpetuate CVS's mistakes? | 15:44 |
|
incidence
| PerlJam, I am just getting used to Git. :) | 15:44 |
|
diskussions_D
| something like git reset ORIG_HEAD or something? perhaps git reset @{1} | 15:44 |
| → jerbear joined | 15:44 |
| ← nadim_ left | 15:45 |
| ← gercokees left | 15:46 |
|
Araneidae
| Is there an explanation somewhere of how multiple remotes work? | 15:48 |
|
| I'm trying to add the stable point releases to my kernel git, and I don't understand what I'm doing at all! | 15:48 |
| ← jas4711 left | 15:48 |
| ← jerbear left | 15:49 |
| → rubydiamond joined | 15:49 |
| → jas4711 joined | 15:49 |
|
Araneidae
| I can see that I have a remote called stable25 ... and I guess I want to add the corresponding .26 ... but I'm flying blind here. | 15:49 |
|
| `git add remote stable26 git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-2.6.26.y.git` will presumably do the trick ... but what the hell is it doing?! | 15:50 |
|
parasti
| Araneidae: cp .git/config .git/config.orig; git add remote ...; diff -u .git/config .git/config.orig | 15:50 |
|
| though it's actually git remote add | 15:51 |
|
Araneidae
| Oh, yes | 15:51 |
|
| Well, looking at config it's kind of easy to see what's happening there ... but what about the commit structure? | 15:52 |
|
| I mean, how does tag v2.6.26.x relate to what I've already got. | 15:52 |
|
| And how do I safely update my existing remote25 -- do I use `git fetch` for that? | 15:52 |
| → icwiener joined | 15:53 |
| ← ahhsm left | 15:53 |
|
Araneidae
| I see: adding the remote *only* updated .git/config, is that right? | 15:54 |
|
offby1
| yep | 15:54 |
| → spearce joined | 15:55 |
| ← aroben left | 15:55 |
|
offby1
| if you "fetch" from that remote, I think you'll get some new objects in your repository, and some new refs under refs/remotes but it won't hose anything. I think :) | 15:55 |
|
| might wanna try it out on a clone to be sure | 15:55 |
|
Araneidae
| That's what I'm hoping ... | 15:55 |
|
| Ya | 15:55 |
|
| I gather that cloning a git repository with cp is dangerous | 15:56 |
| → ahhsm joined | 15:57 |
|
sstangl
| not at all | 15:57 |
| → EmilMedve joined | 15:57 |
|
sstangl
| git only persists in the .git directory; you can move the entire hierarchy around at whim. | 15:58 |
|
Araneidae
| mv is one thing - but cp can break hard links | 15:58 |
|
offby1
| sure, but so what? | 16:01 |
|
| worst that'll happen is that the clone will use as much disk space as the original. Big whoop | 16:01 |
| → sgrimm joined | 16:01 |
|
offby1
| I "clone" with rsync (which is just a faster version of cp) occasionally. | 16:01 |
| → loincloth joined | 16:01 |
|
offby1
| Note that the result isn't strictly speaking a clone at all | 16:01 |
|
| it's just another repository that has the same contents | 16:01 |
| ← loincloth left | 16:01 |
|
Araneidae
| Anyhow, `git remote add stable26 ...; git fetch stable26` seems to have worked ok. | 16:01 |
|
offby1
| sure | 16:01 |
|
Araneidae
| Wish I didn't get all the *-rc? tags -- I have to delete them every time! | 16:02 |
| → jony joined | 16:04 |
| → vbgunz_ joined | 16:05 |
| → loincloth joined | 16:06 |
| → cedricv joined | 16:07 |
| ← lorandi left | 16:08 |
| → lorandi joined | 16:08 |
| ← CIA-2 left | 16:09 |
| → Beket joined | 16:10 |
|
offby1
| why? | 16:10 |
|
| are they stealing your good silver? | 16:10 |
|
Araneidae
| Problem is I can't see the interesting tags for all the noise | 16:11 |
| → CIA-2 joined | 16:11 |
| ← girishr left | 16:16 |
|
brettryan
| If I've added something to .gitignore that I previously forgot, how do I tell git to ignore current changes | 16:17 |
| ← SjB left | 16:17 |
|
brettryan
| and is it possible to rewrite the history to contain no reference to those files? | 16:17 |
| ← vbgunz__ left | 16:18 |
| ← bobmcw left | 16:18 |
| → G_SabinoMullane joined | 16:18 |
|
litage
| does git support nested branches? | 16:20 |
| ← koke left | 16:20 |
| → mw joined | 16:20 |
| ← mw left | 16:20 |
| → mw joined | 16:21 |
| ← mw left | 16:21 |
| → mw joined | 16:21 |
| → insulina joined | 16:22 |
|
insulina
| hello, how do i say git to use nano insted of vim | 16:22 |
|
| ? | 16:22 |
|
jast
| litage, i think you don't understand how branches work. in a way, yes, it does, but that's just because branches are just like sticky labels that refer to a specific commit in the overall graph of commits. | 16:22 |
|
| insulina, for example, change the environment variable GIT_EDITOR to /usr/bin/nano (or whatever) | 16:22 |
|
| alternatively you can set core.editor in ~/.gitconfig | 16:23 |
|
| brettryan, .gitignore only ever applies to untracked files, if that's what you were asking. | 16:23 |
|
offby1
| Araneidae: ah, gotcha | 16:23 |
|
jast
| brettryan, as for the other question, it's possible to filter a repository, changing all commits in certain ways. so yes, it can be done, but it changes the IDs of many commits and thus makes merging with unfiltered copies of the repository impossible. | 16:24 |
|
azuk
| insulina, git also uses generic VISUAL and EDITOR environment variables which may be set to vim in your system | 16:24 |
|
| insulina, so you might be better off setting either of them instead of GIT_EDITOR assuming you want to use nano elsewhere as well and not just with git | 16:25 |
|
insulina
| ok tx | 16:26 |
|
brettryan
| jast: thankyou, :) I discovered git rm --cached $file will remove previously tracked files to no longer be tracked | 16:26 |
|
| though the history will still remain | 16:27 |
|
jast
| that's right | 16:27 |
|
brettryan
| that's not so bad, but there's about 1GB of previously tracked content that doesn't need to be there ;) | 16:27 |
|
jast
| as i said, if you don't mind making the repo unmergable with other copies of it, you can filter all previous stuff | 16:28 |
| → SjB joined | 16:28 |
|
ahhsm
| apparently I modified some files on my master branch, then checked out a new branch, are those modified files automatically added to the index when the new branch is created? | 16:28 |
|
brettryan
| jast: How would I go about performing that? | 16:28 |
|
ahhsm
| because when I commit, it seems to want to commit those files and I don't want it to | 16:29 |
| → cory_ joined | 16:29 |
|
jast
| brettryan, basically it works along the lines of git filter-branch --index-filter 'git rm -f --ignore-unmatch file1 file2 ...' branch1 branch2 ... | 16:29 |
|
| oh | 16:30 |
|
| git rm --cached -f, in fact | 16:30 |
|
| (and the rest) | 16:30 |
| ← icwiener left | 16:30 |
|
brettryan
| no problems jast, thankyou very much for your help | 16:30 |
| → Pistos joined | 16:30 |
|
brettryan
| It's no biggie if I can't get the content out, I'll play with a new test repo to try it out :) | 16:31 |
|
jast
| after the filtering it will be a bit of a challenge to actually get rid of the superfluous objects, in fact | 16:31 |
|
| because git is very careful about removing stuff | 16:31 |
|
brettryan
| ah right, I might just leave it alone, lol | 16:31 |
|
Pistos
| I know about mergeoptions: I've been able to put --no-ff in there. But what I really want is --no-ff on a literal merge, but normal (allow ff) on a pull. Is this possible? | 16:31 |
|
jast
| Pistos, perhaps something like alias.xmerge = merge --no-ff? | 16:32 |
| → jesselucas joined | 16:32 |
| ← doener left | 16:32 |
|
Pistos
| jast: I _guess_ that's a workaround... | 16:32 |
| → doener joined | 16:32 |
|
jast
| i don't think it's currently possible to configure merge to act differently when used by pull | 16:32 |
|
Pistos
| jast: My whole thang is that I like having a marker in the git log when I do literal branch merges, but whenever I am pulling from remotes (which is fairly often), it is too much litter. | 16:33 |
| → markelikalderon joined | 16:33 |
|
Pistos
| "Merge branch 'master' of [email@hidden.address] | 16:33 |
|
| jast: I will try your alias workaround for a while, see how it turns out. | 16:34 |
| ← charon left | 16:34 |
| ← leavengood left | 16:34 |
| ← nud_ left | 16:36 |
| → aroben joined | 16:36 |
| → kumbayo joined | 16:36 |
| → p4tux joined | 16:37 |
| ← Beket left | 16:39 |
| ← davidfetter left | 16:40 |
| → bobmcw joined | 16:44 |
| ← reel__ left | 16:45 |
| ← qrush left | 16:45 |
| Modius_ → Modius | 16:47 |
| → digitalhobbit joined | 16:48 |
| ← tritz left | 16:50 |
| → aroben__ joined | 16:50 |
| → chrizz joined | 16:51 |
| ← aroben_ left | 16:52 |
|
jesselucas
| I'm just switching from SVN to git. I use RapidSVN, and my question is with SVN I can view the log history and then get a specific revision. How do I do this with git? | 16:54 |
|
cbreak
| you can use git log and then git checkout | 16:54 |
|
Pieter
| :) | 16:57 |
| ← diskussions_D left | 16:58 |
| ← jriga_ left | 16:58 |
| → aroben_ joined | 16:58 |
| ← aroben left | 16:58 |
| ← aroben__ left | 16:58 |
| aroben_ → aroben | 16:58 |
|
jesselucas
| cbreak; Do I use the SHA1 ID to tell git checkout which commit? | 16:59 |
| ← coshx left | 17:00 |
|
Pistos
| jesselucas: Yep. | 17:00 |
|
bremner
| jesselucas: or the first few characters anyway | 17:01 |
| → CodeOfficer joined | 17:01 |
| → insulina_ joined | 17:02 |
| ← insulina_ left | 17:03 |
| ← jony left | 17:04 |
| → hidek_ joined | 17:10 |
|
jesselucas
| I set git config --global core.editor "mate -w" . To change my editor to textmate, but how do I change the git log viewer to textmate? | 17:11 |
| ← SjB left | 17:12 |
|
jast
| you mean the pager? | 17:12 |
|
| core.pager :) | 17:12 |
|
jesselucas
| thanks jast! | 17:12 |
| ← CIA-2 left | 17:12 |
|
jast
| if you really want to spawn a gui editor every time something gets paged | 17:12 |
|
Pistos
| Heh. | 17:12 |
|
jesselucas
| ahh, good thought. I guess nano it is | 17:13 |
|
jast
| seriously, why not something like less or most? | 17:13 |
|
| i mean, it's not like you need to edit the logs etc. | 17:14 |
|
jesselucas
| jast: I'll definitely try them out. I'm just ignorant on what is appropriate, not really a sys admin. :) | 17:15 |
|
jast
| less is the default, actually (if it's installed, which it is in most environments) | 17:15 |
| → CIA-3 joined | 17:15 |
| ← careo left | 17:18 |
| ← bentob0x left | 17:18 |
| ← insulina left | 17:19 |
| → SjB joined | 17:20 |
| → EiNZTEiN joined | 17:21 |
| ← SjB left | 17:21 |
| ← naeu left | 17:21 |
| → SjB joined | 17:21 |
| ← tvw left | 17:21 |
| → careo joined | 17:23 |
| → jony joined | 17:23 |
| → piclez_ joined | 17:26 |
| → deskin joined | 17:27 |
| → tritz joined | 17:28 |
| → carllerche joined | 17:31 |
|
dotsintacks
| msys-git's sh.exe is crashing on me all of the sudden | 17:32 |
|
| sh.exe.stackdump says STATUS_ACCESS_VIOLATION | 17:32 |
| ← sgrimm left | 17:32 |
|
dotsintacks
| no function names tho | 17:32 |
|
| has anyone on windows ever run into this? | 17:33 |
| ← bschindler left | 17:34 |
| ← Pistos left | 17:37 |
| ← a-atwood left | 17:40 |
| → a-atwood joined | 17:41 |
| → ruphy joined | 17:43 |
| ← ciskje left | 17:43 |
| → zeeeee joined | 17:44 |
|
zeeeee
| hi, i ran git svn clone on machine A and git clone of A onto machine B. normally when working on A everything is fine - i can git svn rebase and git commit changes - but i committed some changes at B and pulled to A, and now git svn rebase shows me conflicts. is this due to my not having rebased and instead implicitly merged when doing the pull? how should i fix this? | 17:46 |
| → iulian joined | 17:47 |
| → naeu joined | 17:48 |
|
deskin
| zeeeee: do the base remote refs have the same hash? I've had git-svn mess things up, in that two clones don't necessarily translate svn info to the same commit objects | 17:48 |
| ← justeco left | 17:49 |
| → koke joined | 17:49 |
|
deskin
| that, and git svn doesn't like merge commits | 17:49 |
| ← mediogre left | 17:49 |
|
zeeeee
| deskin, i don't know what that means... i'm new to git. what are base remote refs? how do i check if they have the same hash? (fwiw i don't think that machine B is aware of the svn repo, because git svn rebase never worked on it) | 17:51 |
|
deskin
| oh, I misread | 17:51 |
|
| thought B was a clone via git-svn too; never mind that point | 17:52 |
|
zeeeee
| deskin, oh | 17:52 |
|
deskin
| I'd guess that it's due to the merge commits; you could try -p flag to rebase, to preserve merges | 17:53 |
|
| in general, it's best to avoid merge commits when working with git-svn | 17:53 |
| ← ciaran left | 17:55 |
|
zeeeee
| deskin, right, i suspected that the merge commit was the problem. i just don't know how to fix this now. you say i should use git rebase -i -p? here's a screenshot of my situation: http://img128.imageshack.us/my.php?image=githorizonticagg4.png | 17:56 |
|
| deskin, that merge at the top is the problem (it's what i committed at machine B and pulled to machine A). this is gitk running on A. i don't know how to put everything into a single line. | 17:56 |
| ← naeu left | 17:58 |
| → ciaran joined | 17:58 |
| → naeu joined | 17:58 |
| ← ciaran left | 17:58 |
|
deskin
| so the right branch of the merge was the commits you did on B? | 17:58 |
| → digitalhobbit_ joined | 17:59 |
| ← naeu left | 17:59 |
| → naeu joined | 17:59 |
| ← deskin left | 18:01 |
| → deskin joined | 18:01 |
| → dreiss joined | 18:02 |
| → ciaran joined | 18:03 |
| → Weaselweb joined | 18:04 |
| → helo joined | 18:04 |
|
helo
| is there a good project management tool that integrates with git well, ala trac+svn? | 18:04 |
| → woeye joined | 18:05 |
| → Daenyth joined | 18:05 |
|
bremner
| helo: did you investigate trac+git ? | 18:05 |
|
Daenyth
| Is there a way I can partially revert a commit? A few dozen files were changed and I want to undo the changes to 2 or 3 | 18:05 |
| → taruti joined | 18:05 |
| ← digitalhobbit left | 18:05 |
|
jast
| well, you can git revert -n and then mess with git add -i | 18:06 |
|
zeeeee
| deskin, no, the left branch is | 18:06 |
|
taruti
| Is there something like "git submodule update" that would use a branch instead of checking out invidual commits? | 18:06 |
|
wereHamster
| Daenyth: git-checkout the files and commit the new versions | 18:06 |
|
Daenyth
| you can checkout individual files? | 18:07 |
|
| oh ok | 18:07 |
|
wereHamster
| Daenyth: git checkout HEAD^ -- path/to/files | 18:07 |
|
taruti
| (basically foreach submodule do (cd $submodule && git pull)) | 18:07 |
|
Daenyth
| wereHamster: snazzy, thanks | 18:07 |
| ← rmh3093 left | 18:07 |
| ← neuro_damage left | 18:07 |
|
tritz
| Daenyth: see the examples in 'git reset --help': Undo a commit and redo | 18:07 |
|
helo
| bremner: yeah, it appears the plugins aren't very robust | 18:07 |
|
wereHamster
| Daenyth: only use git-reset if you haven't published the history already. | 18:08 |
|
Daenyth
| someone else made "syntax cleanup" changes and broke some of my code | 18:08 |
|
| already pushed it -.- | 18:09 |
| → ahupp|fb joined | 18:09 |
|
Daenyth
| can I git checkout goodcommit -- whole_directory/ ? | 18:09 |
|
jast
| yes | 18:09 |
|
Daenyth
| mmk | 18:09 |
|
context
| how do you checkout a new branch with no parent | 18:09 |
|
jast
| that won't automatically remove files that didn't exist in that version of the directory, so look out for that | 18:09 |
|
zeeeee
| oh...whoa....wait...look at where they branch off: http://img61.imageshack.us/my.php?image=githorizontica1yu0.png | 18:09 |
|
deskin
| zeeeee: I'd try git svn rebase -p; if that doesn't work, then I'd make a new branch pointing to master; reset --hard to the last commit from B; and rebase --onto the last commit from A (just before the merge commit), using 'master' as the upstream | 18:09 |
|
jast
| context, it's a bit complicated because it's extremely discouraged. :) | 18:10 |
|
context
| jast: yeah i know | 18:10 |
|
Daenyth
| jast: thanks | 18:10 |
|
zeeeee
| deskin, why did git reproduce the changes in both branches?? | 18:10 |
| → acid2 joined | 18:10 |
|
context
| friend wants to im gonna try talking him out of it | 18:10 |
|
acid2
| I'm doing a rebase and have some merge problems. Is there anyway to resolve all conflicts with the "new" part of the conflict? | 18:10 |
|
zeeeee
| i actually can't tell right now which branch was machine A and which branch was machine B. the change at the very top was the one i made at machine B. | 18:11 |
|
deskin
| zeeeee: did you clone B before dcommitting? dcommit rewrites your commits, so they'll have the same result but different sha1s | 18:11 |
|
zeeeee
| deskin, i never dcommitted | 18:12 |
| ← MarkMenard_ left | 18:12 |
|
jast
| context, fwiw, it works like this: git symbolic-ref HEAD refs/heads/newbranch && rm .git/index; ...; git commit | 18:12 |
| → rmh3093 joined | 18:13 |
| ← muthu left | 18:14 |
|
deskin
| I don't know what's going on there; perhaps it's due to rebase failing? | 18:14 |
| → coshx joined | 18:16 |
|
bremner
| helo: the only other thing I know about is ticgit, but that is pretty different from trac | 18:17 |
| → ciaran_ joined | 18:17 |
| ← lorandi left | 18:18 |
| → jordibunster joined | 18:19 |
| ← bobmcw left | 18:19 |
|
jordibunster
| Any obvious reason why git cvsimport would return "invalid argument" when a cvs checkout works? | 18:19 |
| ← jesselucas left | 18:21 |
|
deskin
| zeeeee: at any rate, I'd reset to before you merged, and instead rebase the commits from B onto the commits from A; that way you'll have linear history | 18:22 |
|
| git pull --rebase might be helpful | 18:22 |
| → vintrepid joined | 18:23 |
| → ciaran__ joined | 18:24 |
| ← Tv left | 18:25 |
| ← fdr- left | 18:26 |
|
deskin
| zeeeee: I gotta go, hope some of that helps | 18:29 |
| ← deskin left | 18:29 |
|
bdrewery
| jast: why is creating a new branch without a parent discouraged? It seems to work fine, fsck doesnt complain. I'm just wanting to track 1 or 2 notes files in the small branch (not pushing it remote) | 18:31 |
| → ThaDon joined | 18:32 |
| ← cedricv left | 18:32 |
| → niki joined | 18:33 |
|
bdrewery
| I would think that if I ever decide it was stupid I could just remove the branch ref and has fsck clean out the entire tree | 18:34 |
| ← ThaDon left | 18:36 |
| ← Pupeno-M left | 18:36 |
|
zeeeee
| can anybody explain how to do what deskin just suggested? that's exactly what i had set out to figure out from the start. | 18:37 |
| → sgrimm joined | 18:38 |
| → mtodd__ joined | 18:39 |
| ← woeye left | 18:39 |
| ← ciaran_ left | 18:39 |
|
jast
| bdrewery, it tends to be a confusing alternative to just creating a separate repository. it does work well enough, apart from that. | 18:42 |
| ← loiseau left | 18:43 |
|
bdrewery
| k | 18:43 |
| ← ciaran left | 18:44 |
| ← coshx left | 18:45 |
| → _graham_ joined | 18:45 |
| ← mtodd left | 18:46 |
| ciaran__ → ciaran | 18:47 |
| → jesselucas joined | 18:51 |
| ← taruti left | 18:52 |
| ← jordibunster left | 18:52 |
| ← tango_ left | 18:53 |
| ← ahupp|fb left | 18:53 |
| ← ciaran left | 18:54 |
| → ruthd joined | 18:54 |
|
ruthd
| anyone here? | 18:55 |
|
bremner
| ruthd: nope, nobody here but us chickens | 18:55 |
|
ruthd
| =) | 18:56 |
|
| hallo chickens | 18:56 |
|
| i come in supplication | 18:56 |
| → joshdavey joined | 18:56 |
|
ruthd
| so I am trying to switch branches | 18:56 |
|
| in the current branch i just applied a patch which added some files and modified others | 18:57 |
|
| now i want to switch to another branch without said modifications (git checkout {branch}, is that right?) | 18:57 |
|
bremner
| ruthd: right | 18:57 |
|
ruthd
| only it's all like, fatal: Entry '{filename}' is not uptodate. Cannot merge. | 18:57 |
| → supercali joined | 18:58 |
|
ruthd
| and I don't want to merge; I just want to switch | 18:58 |
|
| and this whole branch thing is very confusing. | 18:58 |
|
bremner
| did you commit your changes ? | 18:58 |
| ← jony left | 18:58 |
|
ruthd
| no, do I have to do that before switching? | 18:58 |
|
thiago_home
| yes | 18:58 |
|
| git can't switch to another branch in this particular case | 18:59 |
|
bremner
| ruthd: unless you use e.g. git stash | 18:59 |
|
thiago_home
| from your current branch to the other one, the file {filename} was modified | 18:59 |
|
| but you have local changes in it | 18:59 |
|
| so git refuses to switch to the other branch so that you won't lose your changes | 18:59 |
|
ruthd
| ok | 18:59 |
|
| so if i commit them and then switch, the other branch won't have the committed changes, will it? | 18:59 |
|
thiago_home
| correct | 18:59 |
|
| it won't contain them | 19:00 |
|
ruthd
| how about the added files? | 19:00 |
|
thiago_home
| when you switch branches, you check out a clean copy of the other branch | 19:00 |
|
| unmodified | 19:00 |
|
ruthd
| okay. | 19:00 |
|
wsuff
| there is a git uktil script called git-switch will stash your local changes then change if u don't want to commit them yet stash is an alternative | 19:00 |
|
thiago_home
| so, are you asking instead "I want to commit these changes to branch B, but I started doing my work in branch A?" | 19:00 |
| → jony joined | 19:00 |
| ← stouset left | 19:01 |
| → CelticSoul joined | 19:02 |
| → jriga joined | 19:03 |
| mw → mw|food | 19:03 |
| → Sigma joined | 19:07 |
|
zeeeee
| hi, would any git gurus here be able to help me out with this question? http://marc.info/?l=git&m=122591215617019&w=2 | 19:10 |
| → Sonderblade joined | 19:11 |
| → fhobia joined | 19:12 |
| → deskin joined | 19:13 |
|
context
| zeeeee: this is why i avoid pull . | 19:13 |
|
| zeeeee: pull = fetch & merge ... | 19:13 |
|
zeeeee
| context, ah. so fetch only, then rebase? | 19:13 |
|
context
| yes. | 19:13 |
|
zeeeee
| context, but in my case, is there any way to fix things? | 19:13 |
| ← gma left | 19:13 |
|
context
| you can reset the branch | 19:14 |
| ← SjB left | 19:14 |
| → tango_ joined | 19:14 |
|
zeeeee
| context, so...i should reset master... to something before the pull? | 19:15 |
|
context
| yes | 19:16 |
| ← rubydiamond left | 19:20 |
| ← rdavila left | 19:20 |
| → coshx joined | 19:22 |
| → rubydiamond joined | 19:24 |
| → shenie joined | 19:24 |
| → stouset joined | 19:28 |
| → the_undefined_ joined | 19:29 |
|
the_undefined_
| does anybody here have some hints when setting up a git user with git-shell on handling permisssions? | 19:30 |
| ← dreiss left | 19:30 |
|
the_undefined_
| I currently have the idea of having one git user with full access to all repositories. And then create a new user for every project that needs access control | 19:31 |
| ← joshdavey left | 19:31 |
|
the_undefined_
| I could make the projects folder belong to the group of the project user | 19:31 |
|
| and then simply select how gets access by copying the right SSH keys to the user account belonging to the project | 19:32 |
|
| so I have 1 git user that can access all projects (as he owns them) | 19:32 |
|
| and 1 user per project that I use to do ACL with by simply only adding the ssh keys of people I want to work on a certain repository in | 19:32 |
| → _eric joined | 19:33 |
|
the_undefined_
| So ... my question is: Does this kind of setup make sense or is it a stupid approach? : ) | 19:33 |
| ← Strogg left | 19:33 |
| → Strogg joined | 19:34 |
| → bobmcw joined | 19:35 |
| → patmaddox joined | 19:35 |
| ← rubydiamond left | 19:36 |
|
coshx
| the_undefined_: you might want to check out gitosis, which pretty much does exactly what you're thinking of, with very simple configs (and doesn't require you to add user accounts for all the users, but rather just copy their public keys into a keydir) | 19:36 |
| → ashleyw joined | 19:37 |
| ← tcoppi left | 19:38 |
| → larspind joined | 19:39 |
|
the_undefined_
| coshx: I've seen gitosis, I just wondered if I really need an additional tool + python dependency or if I can get away with this simple hack as well :) | 19:39 |
|
coshx
| the_undefined_: if you're using the remote repository as a central repository, then it's only a python dep on the remote server, and the clients see it as a normal git repository | 19:40 |
|
| the_undefined_: it makes it dirt simple to add repositories and users and set permissions, and is also more secure than adding system users | 19:40 |
|
the_undefined_
| coshx: you think git-shell is not secure? | 19:41 |
|
coshx
| the_undefined_: I've never used git-shell, but it's probably secure. i just didn't get the feeling it does what you want :) | 19:41 |
| → dancor joined | 19:42 |
|
the_undefined_
| coshx: Well lets say I wouldn't have more then 15-20 projects | 19:42 |
|
| coshx: I actually want to do a screencast on how to roll your own git server for small teams to collaborate | 19:43 |
|
| coshx: And I'm hesitant recommending people to use gitosis since there is no documentation yet and not everybody is going to want python on there boxes | 19:43 |
|
| * their | 19:44 |
|
reuss
| what's the easiest way of preventing a user to be able to push back to origin, even if he has write access to the files. I presume something in a hook, but what to put in there? i wan't to deny every push, no matter what. | 19:44 |
|
coshx
| the_undefined_: personally, i'd rather only have 1 git user (who can only run gitosis-serve) on the system, and manage who can login as git (but only to run git commands) through gitosis, than to have to create system accounts and make sure the shell is git-shell (and also keep up-to-date on any possible security advisories for that shell) | 19:44 |
|
dancor
| is there an easy way to change the commit message for a commit that is the only commit in a branch? | 19:44 |
|
coshx
| the_undefined_: if you have a screencast for setting up gitosis, then you'll have the best documentation :) | 19:45 |
|
dancor
| normally i reset --soft to the previous commit | 19:45 |
|
the_undefined_
| coshx: : ) | 19:45 |
|
| coshx: are you using gitosis? | 19:45 |
|
coshx
| the_undefined_: yeah, and it's working great. Because the config file is in its own git repo, I just make changes to it locally and push those changes, and voila, I can now use a new remote repo | 19:46 |
| → bentob0x joined | 19:46 |
|
coshx
| the_undefined_: so you don't even have to login to the remote server to add users or projects | 19:46 |
| → w00t joined | 19:47 |
|
the_undefined_
| coshx: well my idea could be automated as well ..., but I get the point : ) | 19:47 |
| ← vintrepid left | 19:47 |
| → foca joined | 19:48 |
|
the_undefined_
| coshx: I just don't like that the gitosis repo hasn't seen activity for 2 month I guess | 19:48 |
|
bobesponja
| the_undefined_: gitorious has it automated | 19:49 |
| ← helo left | 19:49 |
|
the_undefined_
| bobesponja: are they using the multi-user approach? | 19:49 |
|
bobesponja
| the_undefined_: multiple user approach? | 19:49 |
|
coshx
| dancor: check out git-commit --amend | 19:49 |
|
the_undefined_
| bobesponja: have you followed the conversation? | 19:50 |
| ← eno__ left | 19:50 |
| → nud joined | 19:50 |
|
bobesponja
| the_undefined_: you can have various committers per projects with gitorious | 19:50 |
|
| the_undefined_: and each user can be added from a web interface | 19:51 |
|
dancor
| sweetness | 19:51 |
|
the_undefined_
| bobesponja: I want to do a screencast teaching people how to roll their own central git server so small teams can collaborate | 19:51 |
|
bobesponja
| by the owner of the project | 19:51 |
|
the_undefined_
| bobesponja: In terms of recommending a service out there I'll probably send folks towards github as I like and use them myself | 19:51 |
|
bobesponja
| the_undefined_: you can try it here http://gitorious.org | 19:51 |
| → SjB joined | 19:52 |
|
bobesponja
| the_undefined_: gitorious can be installed on your own server, it's not just a service | 19:52 |
| → vintrepid joined | 19:52 |
|
the_undefined_
| bobesponja: Oh, I did not know that | 19:52 |
|
| bobesponja: thanks | 19:52 |
| → tvw joined | 19:52 |
|
the_undefined_
| bobesponja: What is it written in? | 19:52 |
|
bobesponja
| the_undefined_: rails | 19:53 |
| → joshdavey joined | 19:53 |
| → johnw joined | 19:53 |
|
the_undefined_
| bobesponja: ouch ... | 19:53 |
|
bobesponja
| the_undefined_: what teck are you looking for? | 19:53 |
| ← Cacheaway left | 19:53 |
|
the_undefined_
| bobesponja: Ok maybe I should have mentioned that, the screencast is for people who have limited server administration skills, setting up a rails stack is not an option : ) | 19:53 |
| → tcoppi joined | 19:54 |
|
bobesponja
| the_undefined_: gem install rails is not too hard | 19:54 |
| → Mario_ joined | 19:54 |
| → pygi joined | 19:54 |
| ← Mario_ left | 19:55 |
|
the_undefined_
| bobesponja: -bash: gem: command not found | 19:55 |
|
| ; ) | 19:55 |
|
bobesponja
| the_undefined_: gitosis requieres bash too, and so do git | 19:55 |
|
| ah | 19:55 |
|
| there's an exec | 19:56 |
|
the_undefined_
| bobesponja: I might do a screencast on more fancy setups as well | 19:56 |
| ← larspind left | 19:56 |
|
the_undefined_
| bobesponja: But right now I'm looking for the least involved solution offering some basic ACL | 19:56 |
|
bobesponja
| go for gitosis then, but it's not entirely automated, gitorious might be more difficult to install but then automate things for new collaborators | 19:57 |
|
the_undefined_
| bobesponja: If people need to have a GUI and click & point administration but are unable to set it up - I guess they really should use a hostet solution as I'd be scared to see them run any complicated stack on their servers :) | 19:57 |
|
| bobesponja: are you involved with the project itself? | 19:58 |
|
bobesponja
| I used to | 19:58 |
| ← bartman left | 19:58 |
|
the_undefined_
| bobesponja: so what is the current status? Is it being maintained ? | 19:58 |
|
jesselucas
| just curious. What does "resolving deltas" mean? | 19:59 |
|
bobesponja
| jesselucas: resolving diffs | 19:59 |
|
pygi
| the_undefined_, bobesponja is silly, dont listen to him | 19:59 |
|
| :) | 19:59 |
| ← EmilMedve left | 19:59 |
|
jast
| resolving deltas is related to how git compresses data in its pack files | 19:59 |
|
the_undefined_
| pygi: so which git acl solution have you written? :P | 19:59 |
|
bobesponja
| the_undefined_: it is maintained but not extremely active | 19:59 |
|
jast
| when you run git gc, it looks for very similar files and expresses one in terms of the other, saving lots of space. to read those files, you need to resolve the delta information. | 20:00 |
|
bobesponja
| the_undefined_: he's just a troll, /ignore pygi =) | 20:00 |
|
pygi
| the_undefined_, none | 20:00 |
|
| but I can haz powerz over bobesponja ! | 20:01 |
|
the_undefined_
| bobesponja: gitorious actually looks nice | 20:01 |
|
bobesponja
| the_undefined_: gitosis is the simplest so go for it, you will need a unix server though, not sure if that enters in your requierment for simplicity :) | 20:01 |
|
pygi
| bobesponja, how's the writing going? | 20:02 |
|
bobesponja
| I finished chapter 3, waiting for the "project manager" approval then we might finally sign a contract | 20:02 |
|
the_undefined_
| bobesponja: EC2 has a bunch of them laying around ... ; ) | 20:02 |
| → dreiss joined | 20:02 |
|
the_undefined_
| bobesponja: you writing a git book? | 20:03 |
|
pygi
| bobesponja, what was chap3 once again? | 20:03 |
|
| I forgot .. | 20:03 |
|
| the_undefined_, yup, he is... | 20:03 |
| → bartman joined | 20:03 |
| ← paulp left | 20:03 |
|
bobesponja
| the_undefined_: still need to sign the contract with the editor | 20:03 |
|
pygi
| bobesponja, serving and stuff, plus git push? | 20:03 |
|
bobesponja
| pygi: yeppers | 20:03 |
|
jesselucas
| i accidentally pulled a branch into our master branch - how could I undo that | 20:03 |
|
the_undefined_
| bobesponja: can I ask what publisher? I'm in contact with one that seeks an author for a git book but I don't want to do it | 20:03 |
|
pygi
| bobesponja, nice, wanna forward? :) | 20:04 |
|
| the_undefined_, it's apress | 20:04 |
|
jesselucas
| do i pull from the master again? | 20:04 |
|
the_undefined_
| jesselucas: not done anything else in the meantime? git reset ORIG_HEAD --hard should work | 20:04 |
|
bobesponja
| pygi: if you still want to write a book about git, you might join in | 20:04 |
| ← loincloth left | 20:04 |
|
the_undefined_
| jesselucas: or to be on the save side: 'git log' find the sha1 before the merge, then git reset <sha1> --hard | 20:05 |
|
pygi
| bobesponja, what do you mean? | 20:05 |
|
bobesponja
| join me in | 20:05 |
|
the_undefined_
| apress is good | 20:05 |
|
| or so I think | 20:05 |
|
pygi
| bobesponja, you mean join with you? | 20:05 |
|
| how would that be possible now? | 20:05 |
|
| And wouldn't Frank eat you if you suggested that? | 20:05 |
| → qrush joined | 20:05 |
|
bobesponja
| the contract still hasn't been re-written I think | 20:06 |
|
pygi
| bobesponja, I know xD | 20:06 |
|
bobesponja
| pygi: or pick another subject :p | 20:06 |
| → ahupp|fb joined | 20:06 |
|
pygi
| bobesponja, no ... | 20:06 |
|
| you know why we wanted to go for Git | 20:06 |
|
bobesponja
| why? :) | 20:07 |
|
| this OT, pm me | 20:07 |
|
pygi
| bobesponja, are you on jabber? | 20:07 |
| → ciskje joined | 20:07 |
|
jesselucas
| the_undefined: Thank you! On the same subject is there a way to clone a repo and get all of it's branches, not just the master? | 20:08 |
|
| or to pull all the branches? | 20:08 |
|
bobesponja
| jesselucas: git branch -r | 20:08 |
|
| they are all there | 20:08 |
|
jesselucas
| bobesponja: But locally I have to create and pull them individually? | 20:09 |
|
bobesponja
| jesselucas: yep | 20:10 |
| → k776 joined | 20:11 |
| ← Sonderblade left | 20:12 |
| mw|food → mw | 20:12 |
| ← pygi left | 20:14 |
| → pygi joined | 20:15 |
| → jriga_ joined | 20:18 |
| ← w00t left | 20:19 |
| ← shenie left | 20:21 |
| ← jriga left | 20:27 |
| → paulp joined | 20:30 |
| → \ask- joined | 20:33 |
| → EmilMedve joined | 20:33 |
| → naeu_ joined | 20:37 |
| ← naeu left | 20:38 |
| ← Daenyth left | 20:38 |
| → Pupeno-M joined | 20:41 |
| → robinr joined | 20:41 |
| ← hurikhan|Work left | 20:42 |
| ← Sigma left | 20:45 |
|
ruthd
| how do i diff between two branches? | 20:45 |
|
nud
| git diff ^branch1 branch2 ? | 20:46 |
|
ruthd
| what does the ^ do? | 20:47 |
| ← markelikalderon left | 20:48 |
| ← SjB left | 20:49 |
|
acid2
| any git-svn gurus around? I accidently ctrl-c'ed a git svn dcommit while it was in progress, and I'm now kind of stuck and can't dcommit any more | 20:51 |
|
| here's what happens. I've checked .git/refs/remotes/git-svn and it points to the same commit as what made it to subversion | 20:51 |
|
| when I run git svn dcommit, I get:http://pastie.org/308238 | 20:52 |
|
| and if I try to do git svn rebase: http://pastie.org/308239 | 20:53 |
| ← priidu left | 20:53 |
|
johnw
| acid2: I use it a lot, let me see if I can help you | 20:54 |
| → felipec joined | 20:54 |
|
tritz
| nud: it's probably only 'git diff branch1 branch2', isn't it? | 20:54 |
|
acid2
| johnw: thanks a bunch :) | 20:54 |
|
johnw
| have you done the rm -fr it suggested? | 20:54 |
|
| also, try "git rebase --abort" | 20:55 |
|
tritz
| ruthd: branch1^ would pick the parent commit of branch1 | 20:55 |
|
acid2
| i have before, but I forgot the what that cause - I'll try | 20:55 |
|
| I've done git rebase --abort as well, with no luck | 20:55 |
|
| one sec, I'll do them and give you some more output | 20:55 |
|
| http://pastie.org/308243 | 20:56 |
|
| i'm doing the svn rebase, because presumably, it should just say "svn up to date" or whatever it normally says | 20:56 |
|
| then I can push my remaining commits out | 20:56 |
| → loincloth joined | 20:56 |
|
tritz
| ruthd: see 'git rev-parse --help', section SPECIFYING REVISIONS | 20:57 |
| ← bdiego left | 21:01 |
| ← joshdavey left | 21:02 |
|
johnw
| aha | 21:03 |
| → shenie joined | 21:03 |
|
johnw
| well, it seems some of your local commits conflict with what's under version control now | 21:03 |
|
| try "git diff trunk" to see what the conflicts may be | 21:04 |
| stouset → stouset|away | 21:04 |
|
johnw
| also, do "git log", and see if the log looks right (your commits on top of trunk) | 21:04 |
|
| and also "git log -p trunk.." | 21:04 |
|
| i think you may need to actually resolve these conflicts to get further | 21:04 |
| stouset|away → stouset | 21:05 |
| → hobodave joined | 21:07 |
|
hobodave
| hey guys | 21:07 |
|
doener
| acid2: are you on your branch, or on a detached HEAD (no branch)? git branch tells that | 21:07 |
|
hobodave
| how can I clone to an existing directory? | 21:08 |
| → cilly joined | 21:08 |
|
doener
| hobodave: git init && git remote add -f origin git://url/repo && git checkout -b master origin/master | 21:08 |
|
hobodave
| thanks doener | 21:09 |
| ← Pupeno-M left | 21:09 |
| → Tv joined | 21:10 |
| → Pupeno-M joined | 21:10 |
|
acid2
| doener: (no branch) | 21:12 |
|
| sorry just got back in, I'll try that stuff now then johnw | 21:12 |
|
| there can't be a conflict, I'm the only one who's commit to this svn branch | 21:12 |
|
doener
| acid2: ok, are you still in the middle of a rebase? | 21:12 |
|
| if so, abort that | 21:12 |
|
| then check again if you're brack on your branch, and if not, check that branch out | 21:12 |
|
acid2
| ok | 21:13 |
|
| ok, so I'm back on master now | 21:13 |
|
doener
| then use "git reflog show <your-branch>" and look for the commit at which you have been before the dcommit you canceled | 21:13 |
|
| once you've found it, use "git reset --hard <that-commit>" to move your branch back there | 21:14 |
|
acid2
| "eaa1352... master@{9}: commit: Fix bug with searchs that cause a redirect" I think | 21:14 |
|
| that's the HEAD of svn atm, if that's what you mean | 21:14 |
|
doener
| no, I meant the local commit that you had | 21:14 |
|
hobodave
| ok here's a weird one | 21:14 |
|
doener
| you apparently had a few local-only commits. | 21:14 |
|
acid2
| yea, after that commit | 21:14 |
|
doener
| basically, you should fine the latest one you made before you did the dcommit | 21:14 |
|
acid2
| (2 more) | 21:14 |
|
doener
| so the reset takes you back to before the dcommit | 21:15 |
|
hobodave
| I'm using OS X (case insensitive file system) and I have a file named Growler.js, it's causing file not found errors when I deploy to unix. I've tried git mv Growler.js growler.js, but it throws an error in OS X, because those are identical. How can I rename it and commit this change? | 21:15 |
| ← deskin left | 21:15 |
|
doener
| acid2: then use "git svn fetch" and then "gitk --left-right <your-branch>...<the-svn-branch>" | 21:15 |
|
acid2
| doener: http://pastie.org/308257 is from gitref log | 21:16 |
| ← Weaselweb left | 21:16 |
|
doener
| acid2: hm, and HEAD@{5} and earlier? | 21:16 |
|
acid2
| http://pastie.org/308258 ? | 21:17 |
|
doener
| ok, yeah, it master@{6}, so "git reset --hard master@{6}" | 21:17 |
|
acid2
| ok | 21:17 |
|
doener
| (sorry, HEAD@{5} came from my finger-memory) | 21:17 |
|
acid2
| heh | 21:18 |
|
| ok, so i'm back at master@{6} | 21:18 |
|
doener
| ok, now the gitk from above. You should see some "duplicated" commits, those that already got dcommitted but not yet replaced in your branch, right? | 21:18 |
|
acid2
| what's <the-svn-branch>? | 21:18 |
|
doener
| in your case, seems like it is remotes/git-svn | 21:19 |
|
acid2
| right | 21:19 |
|
doener
| (or just git-svn, if that is not ambiguous) | 21:19 |
|
acid2
| yea, I see those duplicated commits | 21:19 |
|
doener
| ok, then check whether the commits are equal on both sides (checking just the latest ones is fine) | 21:20 |
| → unstable joined | 21:20 |
|
doener
| ie. "git diff <latest-duplicated-local-commit> <latest-duplicated-svn-commit>" | 21:20 |
|
acid2
| yup, they are | 21:20 |
|
doener
| ok | 21:20 |
|
acid2
| eyeballing the diffs of each commit in gitk shows them the same anyway | 21:21 |
|
doener
| then try to just "git svn rebase" now. That _should_ work. | 21:21 |
|
acid2
| ok | 21:21 |
|
| nope, conflicts again :( | 21:22 |
|
doener
| Possibly, it tells that there are conflicts, and you end up with an empty "git diff", then just tell it to "rebase --skip" that commit (only if the diff is empty!) | 21:22 |
|
acid2
| hold on, gitk master points to my top commits still though | 21:22 |
|
| that doesn't seem right? | 21:22 |
|
doener
| yeah, master gets updated only when the rebase is finished | 21:22 |
|
acid2
| oh, ok | 21:22 |
|
doener
| that's why the master reflog was relatively clean, the HEAD reflog gets pretty messy with large rebases :-) | 21:22 |
|
acid2
| :) | 21:23 |
|
doener
| so, what does a plain "git diff" say? | 21:23 |
|
acid2
| empty | 21:23 |
|
| so i'm safe to skip? | 21:23 |
|
doener
| ok, and "git status"? | 21:23 |
|
acid2
| no changes | 21:23 |
|
doener
| ok, and the messages on the screen probably tell you that it was trying to apply one of the duplicated commits, right? | 21:24 |
|
| (IIRC the commit message is hidden in there somewhere) | 21:24 |
| → abbe joined | 21:24 |
|
acid2
| yea, I think that's what it says | 21:24 |
|
doener
| Applying: Improve previewing release in add release | 21:25 |
|
| the latest line like that | 21:25 |
|
| then it is fine to say --skip, yep | 21:25 |
|
| because the commit already exists in the svn upstream | 21:25 |
|
acid2
| yup, exactly that :) | 21:25 |
|
| so I skip that, and now I get more conflicts, heh, but again an empty git diff | 21:26 |
| ← G_SabinoMullane left | 21:26 |
|
doener
| ok. That complicated last part was to make sure that it's just rebase complaining about skip-able commits | 21:26 |
|
| if you want to, you can abort the rebase and do: git rebase --onto git-svn <last-local-duplicated-commit> master | 21:26 |
| ← unstable left | 21:27 |
|
doener
| that takes the commits in the range <last-local-duplicated>..master, replays them on top of git-svn and then updates master to point to the result | 21:27 |
|
| the range only includes the commits that come after the last duplicated one, so you won't see any of those conflicts | 21:28 |
|
| the difference between that and "git svn rebase" is that "git svn rebase" rebases all "local" commits, and can't automatically tell whether some are duplicated | 21:28 |
|
| so "git svn rebase" does "git rebase --onto git-svn git-svn master" | 21:29 |
|
acid2
| aborting the rebase first? | 21:29 |
| ← Ryback_ left | 21:29 |
|
doener
| yeah. Either --skip a bunch of times, or --abort and use the other rebase command | 21:30 |
|
acid2
| ok, i'll give it a shot... | 21:30 |
| ← d0k left | 21:30 |
|
acid2
| heh, git rebase --abort "no rebase in progress" | 21:30 |
| → __name__ joined | 21:30 |
|
doener
| ah, then the second --skip was already the final one | 21:30 |
| ← name left | 21:30 |
|
doener
| ie. you only had 2 duplicated commits, and you're all set now | 21:31 |
| → rdavila joined | 21:31 |
|
doener
| for just 1 or 2 duplicated commits, the --skip'ing is just a small nuisance. For 200 duplicated commits, it's a big PITA and then the other rebase command comes in handy | 21:31 |
|
acid2
| cool, so I can just git svn rebase again from here? | 21:31 |
| ← mtodd__ left | 21:31 |
|
acid2
| or dcommit? | 21:32 |
|
doener
| I'd "git svn rebase" first, just to make sure | 21:32 |
| → mtodd joined | 21:32 |
|
acid2
| ok | 21:32 |
|
| ARGH, conflicts :( | 21:32 |
|
doener
| hu? | 21:32 |
|
acid2
| let me paste what i've done, see if I've slipped up | 21:32 |
| __name__ → name | 21:33 |
| ← shenie left | 21:34 |
| ← bobmcw left | 21:36 |
| ← FunkeeMonk left | 21:37 |
| ← juanjoc left | 21:37 |
| ← jesselucas left | 21:37 |
|
acid2
| ok, lol I tried again, and now doing a dcommit doesn't error or anything | 21:38 |
|
| but it just doesn't use my commits | 21:38 |
|
doener
| paste of what you've done, please? I'm a bit confused right now... | 21:39 |
|
acid2
| because my commits are now not in any branch... | 21:39 |
|
| yea, you and me both :P | 21:39 |
| ← lucsky left | 21:39 |
|
acid2
| http://pastie.org/308265 | 21:39 |
| → prhlava joined | 21:39 |
|
| acid2 checks lost and found | 21:39 |
|
doener
| acid2: master@{10} was too far back. You wanted master@{7} there. Which is the latest duplicated commit? The "Improve previewing..." one? | 21:41 |
| ← EmilMedve left | 21:41 |
|
doener
| git log -1 --pretty=format:%s git-svn | 21:41 |
|
| what does that say? | 21:42 |
|
acid2
| doener: I tried redoing what we had again, this time it was pointing to @{10} it seemed | 21:42 |
| ← robinr left | 21:42 |
|
acid2
| "Fix bug with searchs that cause a redirect" | 21:42 |
|
| i now have master and git-svn at that commit (great) | 21:43 |
| → peeja joined | 21:43 |
|
doener
| http://git.pastebin.com/m17413b23 | 21:43 |
| → mulicheng joined | 21:44 |
|
acid2
| but my 2 other commits are now lost. giggle does show them with shas, so I'm trying to rebase them back in | 21:45 |
|
| but it causes conflicts, oddly | 21:45 |
|
doener
| nah, the sequence I pasted should already return them to master | 21:45 |
| ← zeeeee left | 21:45 |
|
acid2
| yea, but i was obviously too noob, and broke something lol | 21:45 |
|
| if I can bring these 2 local commits back onto master, I should be ok doing a dcommit again though, I think | 21:46 |
| → jerbear joined | 21:46 |
|
doener
| Just do those four commands. Master should then have all your commits, none duplicated and "git svn rebase" should report that it is uptodate | 21:46 |
|
| no matter what you did in the meantime | 21:46 |
| → Zimm joined | 21:46 |
|
acid2
| hmm, ok | 21:47 |
|
| even now that I've broken master though? | 21:47 |
|
doener
| the reset _fixes_ master, really... | 21:47 |
|
acid2
| lol, sorry about this :/ | 21:47 |
|
| right | 21:47 |
| → jesselucas joined | 21:47 |
|
acid2
| ok, so master is at the first duplicated local commit - which is where I want it, right? | 21:48 |
| ← jas4711 left | 21:48 |
|
doener
| After executing the commands I pasted? | 21:49 |
| → jas4711 joined | 21:49 |
|
acid2
| i'm just trying to get back to where we were at the start, I think this is after what was reset master@{6} | 21:49 |
| ← dotsintacks left | 21:50 |
|
doener
| what's wrong with the four commands I pasted? They restore your commits, drop the duplicates and have your master up-to-date. It doesn't matter at all where master is when you start executing those four commands | 21:50 |
|
| The abbreviated sha1 hashes I've used there make them work independent of the current state of master | 21:52 |
|
acid2
| ok, here we go, back on track then :) http://pastie.org/308279 | 21:53 |
|
| git diff is not empty though now | 21:53 |
| ← the_undefined_ left | 21:53 |
|
doener
| ok, "git log -1 --pretty=format:%s git-svn" probably shows something else now, too? | 21:54 |
|
acid2
| it shows "Fix bug with searchs that cause a redirect" which is svn head | 21:54 |
|
doener
| ok, then I guess someone else committed to the svn repo in the meantime and you just got normal conflicts now | 21:55 |
|
| is that possible? | 21:55 |
|
| where "in the meantime" means "since your last successful 'git svn rebase'" | 21:56 |
|
acid2
| mmm, don't think so. the conflicts are between my own local commits | 21:56 |
|
| (ie, work i've done) | 21:56 |
|
doener
| hm... Rebase was trying to apply "Improve previewing...", which is the first commit that you had after the "Fix bug with searchs..." one | 21:58 |
|
acid2
| yup | 21:58 |
|
doener
| "git diff eaa1352 git-svn" -- empty? | 21:58 |
| → paltman_ joined | 21:59 |
|
acid2
| no, that does show someone elses svn work, but I thought that was before my work | 21:59 |
|
| evidently not | 21:59 |
| → EmilMedve joined | 21:59 |
|
doener
| acid2: that was before your work. It's in the commit in svn, but not yet in the local commit you had. | 21:59 |
| ← paltman_ left | 21:59 |
| ← elmex left | 22:00 |
|
doener
| acid2: do the differences you see "match" the conflicts you're seeing? | 22:00 |
|
acid2
| i see | 22:00 |
|
doener
| acid2: if so, then yes, the conflicts you're seeing are valid and because someone else committed to the svn repo in the meantime | 22:00 |
| ← swhitt left | 22:00 |
| ← rdavila left | 22:00 |
|
doener
| so just resolve them as "usual", then "git add" and "git rebase --continue" | 22:01 |
|
acid2
| yup, they seem like normal conflicts then :) sorry, first time i've actually had to deal with conflicts, so i'm a bit slow here | 22:02 |
| → rdavila joined | 22:02 |
| → markelikalderon joined | 22:03 |
|
doener
| no problem, just glad we finally figured out what's up :-) | 22:03 |
| → thannoy joined | 22:03 |
|
acid2
| i owe you many a bear ;) | 22:03 |
|
| ok, all conflicts resolved, now I can just dcommit? | 22:06 |
|
| (and that conflict resolving seemed much nicer than subversion, heh) | 22:06 |
|
doener
| the last rebase was the "manual" one from me, right? Then "git svn rebase" first, just to make sure all svn revisions are really fetched now | 22:07 |
|
| (Yes, I'm really really careful when dealing with git-svn) | 22:07 |
|
acid2
| yea, and then I resolving each conflict and did rebase --continue | 22:07 |
| ← cilly left | 22:08 |
|
acid2
| my god it's working! | 22:08 |
|
| \o/ | 22:08 |
|
doener
| :-) | 22:08 |
|
| acid2 makes a note to cause much pain on his colleague for causing the conflict >:) | 22:09 |
|
doener
| for the record, the next time you kill a dcommit (or it just dies for some reason), the steps are: abort any rebase that might be in progress, checkout your branch, use the reflog to find your latest commit (top-most entry you recognize in the branch reflog), reset --hard to that commit, then svn rebase | 22:10 |
|
acid2
| rgr that, saved this log to text for good measure | 22:11 |
|
| you get my pm? | 22:11 |
| ← EmilMedve left | 22:12 |
| ← acid2 left | 22:14 |
| ← paltman left | 22:14 |
| ← LiamH left | 22:16 |
| ← stouset left | 22:18 |
|
peeja
| is it possible to filter lines, say through grep, before they hit git-diff, git-add, etc? sort of like a line-item .gitignore? | 22:18 |
| → warlock_mza joined | 22:24 |
|
PerlJam
| peeja: there's usually an interactive version if that's what you're after. | 22:24 |
|
| peeja: git add -i # for instance. | 22:25 |
|
peeja
| PerlJam: yeah, i know about that. I'm looking for something automatic | 22:25 |
|
| so I can, say, tag a line with NOGIT or something and have it ignored | 22:25 |
|
PerlJam
| give me an example with diff. | 22:26 |
|
peeja
| for lines which I only want in my working tree | 22:26 |
| → ciaran joined | 22:27 |
|
PerlJam
| or even, what's a use case here? | 22:27 |
|
| It sounds like you want git to track files, but selectively ignore them for a while. | 22:28 |
|
peeja
| so, in ruby | 22:28 |
|
| http://www.pastie.org/308333 | 22:28 |
|
| I add line 3, but I don't want to ever commit it | 22:28 |
|
| but I want to commit lines around it | 22:28 |
|
PerlJam
| ah. | 22:28 |
|
| That sounds crazy :) | 22:29 |
|
peeja
| so I want git to filter it out before adding it | 22:29 |
|
| I know :) | 22:29 |
|
PerlJam
| I take it this is for passwords and such? | 22:29 |
|
peeja
| crazy-awesome though, right ;) | 22:29 |
|
PerlJam
| (or other sensitive info) | 22:29 |
|
peeja
| not necessarily | 22:29 |
| ← threeve left | 22:29 |
|
peeja
| logging, like here, would be a good case too | 22:29 |
|
| debugging | 22:29 |
|
wereHamster
| peeja: if logging_enabled then log a_variable end | 22:29 |
|
peeja
| or adding comments which you didn't want others to see | 22:29 |
|
| wereHamster: right, but the whole point is that I don't want other people to have it | 22:30 |
|
| it should never get committed | 22:30 |
|
wereHamster
| I'm afraid git can't do that on it's own | 22:30 |
|
peeja
| dang | 22:30 |
|
| any idea how I might build something that would? | 22:30 |
|
PerlJam
| carefully. | 22:30 |
|
peeja
| I couldn't find a suitable hook | 22:30 |
|
doener
| a clean filter might do | 22:30 |
|
wereHamster
| a shell script that replaces the f | 22:30 |
|
peeja
| PerlJam: heh | 22:30 |
|
| doener: what's that? | 22:31 |
|
wereHamster
| a shell script that strips the NOGIT lines from the files, commits the change and then restores the files | 22:31 |
| ← qrush left | 22:31 |
|
doener
| peeja: look for "filter" in man gitattributes | 22:31 |
|
Gitbot
| peeja: the gitattributes manpage can be found at http://git.or.cz/man/gitattributes | 22:31 |
|
doener
| peeja: I've never tried such a thing though, might kill your kitten | 22:31 |
|
peeja
| oh, yes! sweet, that might work | 22:31 |
|
| or break horribly, but we shall see | 22:32 |
| → deskin joined | 22:32 |
|
PerlJam
| I simultaneously like and dislike people for the same reason--they're always coming up with crazy stuff | 22:32 |
|
doener
| heh :-) | 22:33 |
| ← a_l_e left | 22:34 |
|
Pieter
| I just dislike everybody | 22:34 |
| ← jerbear left | 22:38 |
| → ciaran_ joined | 22:41 |
| ← doener left | 22:42 |
| ← rmh3093 left | 22:42 |
|
jesselucas
| when I init my submodules it isn't setting them up to have the master branch checked out at first. It just says * no branch. Not all of them are doing this though. Is there a way have them all default to the master branch? | 22:42 |
| ← name left | 22:45 |
| → fynn joined | 22:46 |
|
fynn
| hia | 22:46 |
|
| how can I get a Git log in XML format? | 22:46 |
| ← prhlava left | 22:47 |
|
Pieter
| you'll have to do that yourself | 22:47 |
|
| for example by using the --format=pretty: option | 22:47 |
|
fynn
| Pieter: :/ | 22:47 |
|
Pieter
| :) usually if you want to export data from git, you use a null-separator | 22:48 |
|
fynn
| I'm just used to the comfort of 'svn log --xml' :) | 22:48 |
|
| thanks anyways though. | 22:48 |
| ← fynn left | 22:49 |
| → flyingsymbols joined | 22:51 |
|
flyingsymbols
| got a quick 'how-to' question for git | 22:51 |
|
| i'm using git to manage an installer creation script | 22:51 |
|
| where I want to throw in several config files, then run the script to create a customer-specific installer | 22:52 |
| ← ph^ left | 22:52 |
|
flyingsymbols
| what i'm interested in is whether there's a command that will reset the repository status back to what it was before | 22:52 |
|
Pieter
| before what? | 22:53 |
|
flyingsymbols
| (before the config files are added/modified) | 22:53 |
|
Pieter
| to the repository, or created by a build script or so? | 22:53 |
|
| that is, are they committed already? | 22:53 |
|
flyingsymbols
| no, they won't be committed | 22:53 |
|
| and some of the files won't even be tracked | 22:53 |
|
Pieter
| git clean -f to remove untracked files | 22:53 |
|
| git reset --hard to undo changes to tracked files | 22:53 |
|
flyingsymbols
| git reset --hard without a refspec doesn't remove a commit then? | 22:54 |
|
Pieter
| no | 22:54 |
|
flyingsymbols
| excellent | 22:54 |
| ← deskin left | 22:55 |
|
flyingsymbols
| thanks Pieter | 22:55 |
|
| that's exactly it | 22:55 |
|
| i'm liking git, but still a lot to wrap my head around | 22:55 |
| ← krh left | 22:58 |
| → radarek joined | 22:59 |
| cbrake → cbrake_away | 23:00 |
| → tagx_ joined | 23:01 |
|
tagx_
| how do i ignore all files in a directory but not the directory itself? | 23:01 |
|
_eric
| git doesn't store directories | 23:02 |
|
| you need to have at least one file in it | 23:02 |
| ← ciaran left | 23:02 |
|
tagx_
| ah, hmm | 23:02 |
|
_eric
| (an easy one is an empty .gitignore file) | 23:02 |
|
tagx_
| that doesn't appear to work | 23:03 |
|
_eric
| git add directory/to/.gitignore | 23:04 |
| → deskin joined | 23:04 |
|
tagx_
| but then how do i ignore all other files the directory? | 23:04 |
|
bdrewery
| can you add the directory to ../.gitignore? | 23:05 |
|
Arrowmaster
| add * to the .gitignore in that directory | 23:05 |
|
tagx_
| hmm, the .gitignore is now ignoring itself | 23:08 |
| → quoin joined | 23:09 |
| ← Pupeno-M left | 23:09 |
| ← tagx_ left | 23:09 |
| ← cory_ left | 23:09 |
|
parasti
| add it, as said before | 23:10 |
|
Pieter
| hellowwwwwww | 23:11 |
|
parasti
| ...I don't remember how to unignore parts in irssi :P | 23:11 |
| ← vintrepid left | 23:11 |
| → zeeeee joined | 23:14 |
| → qrush joined | 23:14 |
| → SjB joined | 23:16 |
|
pasky
| you can always just edit the config | 23:16 |
|
zeeeee
| hi, i have a git svn repo, and i'd like to generate some patches to send back (only for certain files). how might i do this? for instance, i just want to send patches for file a. my 3 commits are: modified a & b, modified b, modified a. | 23:16 |
|
| i looked at git format-patch, but that seems to generate a patch for all changes | 23:17 |
| → tagx_ joined | 23:17 |
|
Pieter
| try git format-patch -1 | 23:17 |
|
tagx_
| basically, i want to add an empty directory to a repository | 23:17 |
| ← _graham_ left | 23:17 |
|
Pieter
| to generetae the last patch | 23:17 |
|
| format-patch takes many of the parameters that git log takes | 23:18 |
|
zeeeee
| Pieter, but i don't want just the last patch, right? | 23:18 |
|
| Pieter, like in my example above | 23:18 |
|
Pieter
| zeeeee: you can't create patches for specific files, I think | 23:18 |
| → Mario_ joined | 23:18 |
|
zeeeee
| Pieter, what about git diff? | 23:18 |
|
| git diff -p | 23:18 |
|
Pieter
| I dunno, try it out | 23:18 |
|
zeeeee
| yeah, i guess that's why i wanted to come here to ask first though | 23:18 |
| ← pygi left | 23:19 |
|
Pieter
| I always create commits that are logical units, so no need to have a patch for only a single file | 23:19 |
|
zeeeee
| Pieter, so are mine | 23:19 |
|
Pieter
| or, if I do, I split the commit in two | 23:19 |
| ← floppyears left | 23:19 |
|
zeeeee
| ok, so it seems that the way to do this is: git diff -p remotes/trunk file1 file2 ... | 23:21 |
| ← ciaran_ left | 23:22 |
| ← willb left | 23:22 |
|
Pieter
| zeeeee: format-patch takes path specifiers too | 23:22 |
|
zeeeee
| however, will this spell problems for me further down the line, when they merge in my changes into svn? will a subsequent git svn rebase throw conflicts at me? | 23:22 |
|
_eric
| what happens if someone does a commit in the middle of a rebase (with merge conflicts)? | 23:23 |
| ← kumbayo left | 23:23 |
| → ph^ joined | 23:24 |
| ← tritz left | 23:24 |
| ← naeu_ left | 23:26 |
|
Pieter
| zeeeee: if you're lucky, no | 23:26 |
|
| it'll detect the two changes are the same | 23:26 |
|
drizzd
| _eric: you have to commit if you want to resolve the merge | 23:27 |
|
Pieter
| zeeeee: but if they change the commit, or add new commits after it that change the same code, the rebase will complain | 23:27 |
| ← boto left | 23:27 |
| ← tagx_ left | 23:29 |
| ← Yuuhi left | 23:31 |
| ← thannoy left | 23:31 |
| ← loincloth left | 23:37 |
| → ciaran joined | 23:37 |
| ← peeja left | 23:37 |
| ← flyingsymbols left | 23:37 |
| → flyingsymbols joined | 23:38 |
| ← ciskje left | 23:38 |
| → ardrigh joined | 23:40 |
| ← SRabbelier left | 23:40 |
| ← radarek left | 23:41 |
| ← ph^ left | 23:43 |
| → tagx_ joined | 23:44 |
| → madewokherd joined | 23:44 |
|
tagx_
| how do i add an empty directory to a git repository? | 23:44 |
|
Pieter
| you can't | 23:45 |
|
| if you really need to, you can add a file in it to track it, like a .gitignore | 23:46 |
|
deskin
| tagx_: rumour has it that such a thing can exist, if e.g. it's imported by git-svn | 23:46 |
| → Ryback_ joined | 23:47 |
| ← ashleyw left | 23:48 |
| → ashleyw joined | 23:48 |
| → Fullmoon joined | 23:49 |
| → WALoeIII joined | 23:52 |
| ← ashleyw left | 23:52 |
| → ashleyw joined | 23:52 |
| ← bentob0x left | 23:52 |
| → foca_ joined | 23:54 |
|
Pieter
| you can also do something like | 23:54 |
|
| echo -e "040000 4b825dc642cb6eb9a060e54bf8d69288fbee4904\tnew_dir" | git update-index --index-info | 23:54 |
|
| to add an empty dir to git | 23:54 |
|
| but I'd say that isn't recommended ;) | 23:54 |
| ← jony left | 23:55 |
| → vanjuggler joined | 23:55 |
| → jstash joined | 23:56 |
| → ben_h joined | 23:57 |
| ← nud left | 23:58 |