IRCloggy #git 2008-05-30

Logs Search ←Prev date Next date→ Channels Documentation

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

2008-05-30

jeckel left00:06
devogon left00:06
jeckel joined00:09
gmcinnes joined00:10
gmcinnes hi all. How do I add an empty directory to a git repo?00:11
Eridius|work you need to put something in there. I recommend .gitignore00:11
git doesn't track dirs00:11
although, in theory it could just use an empty tree. I wonder why it doesn't support that00:11
?00:11
pasky stays silent ;)00:11
gmcinnes right. I thought that was the case. That's what I've done.00:12
thx.00:12
vmiklos it's in the faq00:15
eikonos joined00:15
vmiklos http://git.or.cz/gitwiki/GitFaq#head-1fbd4a018d45259c197b169e87dafce2a3c6b5f900:16
Eridius|work wonders how much work it would be to teach the index how to track empty dirs00:17
z1o joined00:19
norflork joined00:20
pasky it would be trivial00:21
(I believe)00:21
tim_abell_ joined00:21
tim_abell_tim_abell00:21
tim_abell left00:22
krh joined00:22
pasky I think the FAQ is misleading - I believe the proposals (by others and me as well, historically) were getting rather close to patch form but the powers that be did not like the idea :)00:22
tim_abell joined00:22
pasky maybe there are caveats I don't realize00:22
schacon_ left00:23
bdiego joined00:23
Rameteric left00:24
sbeyer left00:24
aroben left00:25
jamessharpe left00:26
hipertracker left00:28
norflork How do I modify my default commit message so that it always starts with a specific custom string at the very top for a single repository? I think I need to modify prepare-commit-msg in my .git/hooks directory, but the best I've been able to do is get my custom message printed at the very bottom of my commit message which isn't what I want. (I don't know shell very well.)00:35
avdi_ joined00:35
mrix_ joined00:35
mrix_ hey! Need help on my question: 1) assume i have a repo and 2) i generated few files there (many) 3) i changed my mind and want to get clean repo. How do i do that except manually deleting all those generated files i don't need anymore? Thanks!00:37
Mikachu norflork: does it apply after you write the message in the editor?00:37
norflork: otherwise the obvious answer is to write the message under the generated content :P00:38
context joined00:38
z1o mrix_: depends on if the repo is cloned or not.00:38
mrix_ z1o: it's a local repo00:38
doener_ norflork: you can create a template for the commit message and set commit.template in the config00:38
norflork I see the message appear in the editor itself. But it is under the generated content. I can move it manually, but it gets annoying for when git auto-creates merge messages.00:38
context left00:39
Pieter hmm00:39
git log HEAD~50000 is kinda slow00:39
Mikachu norflork: ah, can you pastebin what you have?00:39
z1o mrix_: git checkout master should work00:39
Aughey joined00:39
tim_abell I'd love to know what you guys think of my git / flash drive sharing howto: http://timwise.blogspot.com/2008/05/sharing-work-between-computers-with-usb.html00:39
norflork just a sec. I think I broke things again. :P00:39
mrix_ z1o: those useless files do not get removed...weird00:40
rubydiam_ joined00:40
z1o mrix_: or clone the repo00:40
tim_abell ps, Hi all.00:40
z1o mrix_: cd ../ git clone $repo ./newrepo00:41
rubbish left00:42
z1o mrix_: best thing to do though in the future is to branch. then you can checkout a branch ie master to remove changes00:42
mrix_ z1o: well what i did instead is $ rm -rf./*; git checkout master ./00:46
brosner joined00:46
mrix_ z1o: don't like that though00:46
z1o mrix_: right so use branching00:46
mrix_: git branch testing . git checkout testing00:46
datafirm left00:46
mrix_ z1o: yup, thanks!00:47
z1o mrix_: then you can just git checkout master .. poof changes gone. checkout testing poof changes back00:47
rubydiam_rubydiamond__00:47
norflork Mikachu: sorry, I really broke it now and don't remember what I had. I think I modified the commented out perl statement though.00:48
doener_, can you tell me more about the template?00:48
doener_ uhm, there isn't much to say. You write it, you add the config entry, and then git commit will use it as its template when you need to enter a commit message00:49
spearce joined00:50
jlh left00:50
jlh_ joined00:50
datafirm joined00:51
avdi left00:51
jlh_jlh00:51
norflork so in a .gitconfig file, I would have a section called [commit] and a line that looks like template = /path/to/template ?00:52
bdiego left00:52
Mikachu you can use the git-config command00:54
norflork Is it possible to have a gitconfig per repository instead of globally? I want this custom commit message only for a specific repository, not all of mine.00:55
Mikachu yes00:56
that's the default mode for git-config00:56
cout joined00:56
Mikachu while with --global it goes to ~/.gitconfig00:56
Leefmc joined00:56
Eridius|work norflork: .git/config is the default config. note that this does *not* get cloned00:56
tim_abell I promise it's not shameless self promotion, rather a labour of love. I only discovered git recently and having had it improve my life in a small way I wanted to share my new found knowledge for the benefit of the greater good. Apologies for rambling, it's late.00:57
Mikachu that might also be a reason for not many looking at it :)00:57
tim_abell shoots self in foot as usual00:58
norflork okay, good information here. So .git/config will not be cloned. Do the hooks like prepare-commit-msg get cloned?00:58
Mikachu norflork: no00:58
Eridius|work no00:58
Mikachu norflork: echo rm -rf ~ >> .git/hooks/prepare-commit-msg, hey norflork clone my repo it's so great00:58
tim_abell I mentioned in my article removing the contents of .git/hook on fat drives due to lack of execute flag. Am I asking for trouble there or is that considered ok?00:59
Mikachu tim_abell: that's a good idea i should think00:59
tim_abell phew, thanks01:00
Mikachu tim_abell: they're definitely not needed for normal operation, especially as they're all disabled by default01:00
tim_abell I can't wait to impose git on work. Er I mean persuade them it's better for us than svn.01:00
Eridius|work good luck01:01
tim_abell: there's a config flag you can set that indicates exec flags don't exist01:01
tim_abell thanks, shouldn't be to bad. they'll just need time to adjust (/etc/init.d/svnserve stop. oops!)01:02
oh cool, thanks Eridius, I'll look it up01:02
ToxicFrog Hmm. That's odd.01:02
soto joined01:03
Eridius|work tim_abell: it's core.fileMode01:03
ToxicFrog I cloned my repo onto windows using cygwin git, and it lost most, but not all, of the execute flags.01:03
Eridius|work git config core.fileMode false01:03
when false, it means ignore exec bit differences01:03
soto How do I amend a commit message?01:03
Eridius|work soto: if it's the latest commit, git commit --amend01:03
that'll re-create the commit using the current index, and let you edit the message01:03
soto Eridius|work: But if I only want to change the message I have nothing to commit01:03
Mikachu Eridius|work: i don't know if that applies to hooks01:04
Eridius|work soto: wrong01:04
you have to create a new commit object01:04
rwanderley left01:04
Eridius|work Mikachu: heh, you're right, I don't know either01:04
soto Eridius|work: Do you mind elaborating? How do I create a new commit object?01:04
ToxicFrog soto: the message is an intrinsic part of the commit object.01:04
avdi joined01:04
Mikachu soto: just run git commit --amend01:04
ToxicFrog There is no way to edit a commit once it's created; the closest you can come is to create a new commit and replace the old one with it.01:05
Eridius|work soto: are you trying to edit the last commit object? if so, use git commit --amend like I said before01:05
ToxicFrog Which is what --amend does.01:05
soto Eridius|work: Alright, I guess I thought that wasn't working when I tried it. Thanks01:05
avdi left01:06
doener joined01:06
avdi joined01:07
datafirm left01:08
tim_abell thanks Eridius, do you know if there's anything more enlightening docs for fileMode than this? http://www.kernel.org/pub/software/scm/git/docs/git-config.html#EXAMPLES01:08
grammer failing. i should go to bed01:08
Eridius|work tim_abell: I think you need to ask someone who actually uses FAT ;)01:08
tim_abell poor souls01:09
Cherife joined01:09
tim_abell thanks for your help, I'll investigate further another day. goodnight all01:09
shoe left01:10
tim_abell left01:11
avdi left01:11
norflork Thanks everybody! I think I got the template working.01:12
Since the config doesn't clone, are there any recommended practices to remembering to copy this with a new clone?01:14
tzafrir joined01:14
Eridius|work you could make a global alias that calls clone and prints a reminder, and use that instead of clone01:14
tzafrir any idea how I get git-svn to authenticate with a certificate?01:14
Eridius|work tzafrir: it should just work the same way svn does01:14
Mikachu you can put some stuff in a branch01:14
or a tag01:14
tzafrir Eridius, sadly, it doesn't01:15
Specifically, on the same machine subversion 1.4 reads configuration from files in ~/.subversion01:15
Eridius|work yes, so should git-svn01:16
my git-svn reads ~/.subversion no problem01:16
tzafrir And I can't persuade git-svn to use the certificate listed there01:16
Mikachu i think someone else had the same issue (didn't see a solution)01:16
tzafrir Eridius, client-side certificate?01:16
Mikachu if it wasn't you01:16
the only thing i know works is accepting certificates from the server01:16
soto left01:17
Eridius|work tzafrir: I'm not entirely sure if any svn server I've used with git-svn uses certificates, but I know it reads my non-cert auth info just fine, and I looked at the code once and it looked like it should read everything01:17
doener_ left01:18
tzafrir it asks me for a password01:18
Over a year ago I made an ugly patch to some perl module to get svk working01:19
But I don't have it here01:19
goibhniu left01:19
Mikachu the perl module comes with svn, but it's possible git-svn still has to call some routine in it to make it work, or it coudl be a bug in svns perl module01:19
i say this knowing next to nothing about both :)01:20
avdi_ left01:20
ben_h joined01:24
norflork Can somebody set me straight on git push? (newbie question). If I create a new repo 'orig' and then clone it 'copy'. I make some changes to 'copy' and commit them. Then from 'copy', I git push to 'orig'. What am I supposed to do in 'orig' to see the new changes from 'copy'?01:25
Mikachu norflork: you are not supposed to push to a non-bare repo01:26
http://git.or.cz/gitwiki/GitFaq#head-b96f48bc9c925074be9f95c0fce69bcece5f6e7301:26
Mikachu hopes that is the right link, did /lastlog faq01:26
norflork I think that link was correct.01:27
david_koontz left01:29
ToxicFrog winds windows's entrails out on a stick01:29
tzafrir the password prompt is in the function ssl_client_cert_pw01:29
strace shows that it did read my certificate file01:30
But no attempt made to decrypt it?01:30
brosner_ joined01:30
stillLotR left01:30
ToxicFrog 'git checkout: we do not like "World: The Universes of Legend" as a branch name'01:32
Sad.01:32
krh left01:32
Mikachu the colon is a big nono01:33
ToxicFrog Oh, right. This is windows.01:33
*and* it's reserved by git.01:33
Mikachu well, think of push and fetch01:33
i don't know about the spaces either01:33
ToxicFrog It doesn't like the spaces either.01:33
That I can't see any reason for.01:34
shoe joined01:34
ToxicFrog Hmm. Man page says it needs to pass git-check-ref-format01:34
brosner left01:34
brosner_brosner01:35
Mikachu i'm sure you can use ∶ and instead01:35
ToxicFrog Ok. No nonprintings. Nothing in [[ ~^:?*]. No "..". Cannot end in /. Cannot contain "/.".01:35
Yes, but those are a pain to type.01:36
Mikachu sure :)01:36
ToxicFrog I could use "World/The.Universes.of.Legend"01:37
Mikachu note that you can't have two branches "foo" and "foo/bar" at the same time01:37
ToxicFrog Yeah.01:37
That won't be an issue.01:37
Every branch except master starts with World/ or Fortress/01:37
Mikachu are these your save files? :)01:38
ToxicFrog Yep01:38
Mikachu heh01:38
ToxicFrog Well, my complete active games01:38
World/ branches contain generated worlds with no running games; Fortress/ branches, active games.01:38
When a fortress finishes, I merge it back into the world it spawned from.01:38
Mikachu i see01:39
ToxicFrog It's not a true merge, sadly - if I have multiple concurrent fortresses, only one of them will succeed.01:39
Mikachu i think that's a new usage of git :)01:39
ToxicFrog But it makes keeping track of things much easier.01:39
(also makes trying out mods and the like easier - just create a new branch. No need to taff around with backup game installs!)01:39
jwasson OOC, why allow the limitation on branch names? I understand the technical reason with regards to the implementation, but why an implementation that creates those limitations?01:42
Eridius|work jwasson: because it would be more work to remove the limitations, and it hardly seems worht it01:42
ToxicFrog jwasson: the man page explains it, actually01:43
Ryback_ left01:45
jwasson Hrmm....I guess some of that makes sense.01:46
norflork Commit-template (again): Drat, it looks like the auto-generated merge message that looks like: "Merge branch 'master' of /path/of/repo/" is not respecting my template format. Are there any other templates I need to override?01:48
warthog9 left01:50
ajonat joined01:50
ajonat left01:51
mrix_ left01:51
ajonat joined01:52
bdiego joined01:55
mithro left01:59
destruct_ joined02:03
norflork It looks like commits during a merge-conflict also bypass my template.02:09
jamesish joined02:11
eikonos left02:12
destruct left02:13
jamesish Hi folks. We have an interesting situation. We had a git repository, call it foo. And one of our developers, Bob, pulled from it and started doing large, good work. In the meantime, we moved to repository bar and other developers committed and updated, while Bob was working away solidly. Now he needs to transition his work to the new repository.02:14
I know git can handle this kind of situation, but I don't have enough experience to know how to deal with it.02:15
jwasson Bar wasn't cloned from foo?02:16
jamesish Bar wasn't cloned from foo.02:17
jwasson If it wasn't, have Bob generate patches from his repository. Find the closest commit in bar and checkout a new branch there. Apply the patches to that new branch and then merge with master.02:17
jamesish Okay.02:18
jwasson I'm not that knowledgable either, so there might be a better way, but that's how I'd probably do it.02:18
jamesish I just checked with a guy who knows better than me; bar was actually cloned from foo02:18
angasule_ joined02:19
jwasson In that case bob should be able to add bar as a remote (maybe replacing foo) and just behave normally.02:19
That is, pull from bar, merge to master (or whatever branch), then push to bar.02:19
jamesish Wow. That'll make things _very_ simple. And he has a backup of the repo, so if it goes wrong we'll be fine.02:20
This could be an ass saver for us, thanks jwasson.02:20
jwasson No problem.02:20
Have bob create a tag of his current HEAD then he can rewind to there easily.02:21
(if things go wrong)02:21
FunkeeMonk joined02:21
jamesish Good idea.02:22
zawir joined02:22
Leefmc left02:22
eternaleye_ joined02:24
jerbear joined02:25
tflsh left02:30
norflork left02:32
angasule left02:34
destruct_destruct02:35
igorgue joined02:38
timocratic left02:44
ekidd left02:45
Leefmc joined02:47
timocratic joined02:48
timocratic left02:49
rubydiamond__ left02:50
lirit joined02:51
ekidd joined02:52
igorgue left03:01
Leefmc left03:02
donspaulding joined03:04
donspaulding is there some way to have `git svn clone` recognize svn:externals properties?03:05
mugwump it recognizes them, see the unhandled.log03:08
it doesn't currently do anything sensible with them though03:08
bdiego left03:09
donspaulding hrm, could I `git svn clone` each of the externals in the appropriate subdirs of the main repo?03:09
mugwump you could, and add them as submodules03:10
rsharma joined03:10
donspaulding would git fetch then update from all the appropriate svn repos?03:10
mugwump no03:10
rsharmahoros2203:10
mugwump nobody's worked on that yet03:10
donspaulding ok03:10
mugwump also, there is no integration with external SCMs in 'git fetch'03:11
donspaulding right, I meant git svn fetch03:11
ekidd left03:11
mugwump however, I suspect that git-svn could be enhanced to allow specification of paths to externals03:11
Cherife left03:12
horos22 hey all.. a question about repositories - is there a way to 'look before I leap',03:12
donspaulding well it's an itch right in the middle of my back....I'm unable to scratch it myself, so I'll just have to sit and wait for someone double-jointed to get the same itch03:12
horos22 ie: see the changes that are going to be made to my local repository before actually pulling the switch with git pull?03:12
mugwump donspaulding: ok. I just have to keep trying to entice users into implementing the features they request ;)03:13
Cherife joined03:13
albertito horos22: yes, if you are going to pull from a remote, you can do "git remote update <name>" and then use git log or gitk to view the remote branch you're interested in pulling03:13
horos22: if it's not a remote, you can fetch and then use FETCH_HEAD as the reference for what you've just fetched03:14
horos22 git remote update actually pull the changes over?03:14
sorry .. does git remote ...03:14
suppose I want to see only one or two files?03:15
albertito horos22: it will get them, and update the remote branches, but it will *not* touch anything that is yours03:15
horos22 so if you do a 'git pull' afterwards, it's a no-op?03:15
albertito horos22: so it gets the changes, but pretty much nothing else. It will not merge or alter your branches in any way03:15
horos22: it's not a no-op, because the git pull will try to fetch the changes (you will already have them, this will be a no-op) and then merge them in your branch03:16
horos22 got it..03:16
now suppose you've got lots of changes, and a slow connection, and you want to limit what you are seeing only to a couple files..03:17
albertito horos22: the last part is the "op". Another way to think about it is to think of pull pretty much as fetch + merge (but read the docs for the details). git remote update does the fetch part, and git merge does (obviously) the merge part03:17
horos22: there is no way you can see what you would pull without getting the changes03:18
horos22 so it's an all or nothing deal.. suppose I wanted to pull only a couple of the files..03:18
albertito horos22: you can get them and then decide to do nothing, but in order to see and decide you have to get them03:18
avdi joined03:19
albertito horos22: it's pretty much an all or nothing deal, yes03:19
horos22 ok.. thanks..03:19
probably should switch to smaller branches then..03:19
albertito horos22: another way, more rudimentary, if the project has some gitweb interface, is to browse it manually and get the files you're interested in03:20
horos22: it really depends on your workflow03:20
warthog9 joined03:21
horos22 right.. but right now it's taking a given update about an hour to pull over to my local repo..03:21
it would be nice if there was a hack.. err workaround for this very issue.03:21
albertito horos22: git is very clever about what to send over the network, but you can't get just the changes that affect a given file because of how git works03:22
lirit left03:23
horos22 yeah.. that's what I figured..03:24
one more thing.. suppose you make some edits and you want to revert them, before you've done a commit (ie: there were some mistakes)03:26
any way to do that easily?03:26
jerbear left03:27
horos22 hmm.. I take it that you can't do this easily? I would think that would be extremely simple to do..03:32
kukks left03:36
horos22 I take it that I need to check my mistakes in, and then do git reset and/or git revert? that seems a little silly03:36
mugwump you can force it03:38
in general no git commands will let you throw away any changed file without requiring you to force it first03:38
horos22 so you are saying 'git reset --soft HEAD --force'?03:38
or sorry 'git reset --force HEAD'03:39
mugwump why not read the man page a bit03:40
--hard will overwrite the files03:40
also, you can use git checkout to revert a single file03:41
donspaulding left03:41
horos22 yeah.. I saw that in the docs..03:42
xyzzy_ left03:42
horos22 but I tend to approach such things with great caution..03:42
so I thought I'd ask just in case..03:42
ckoehler joined03:45
markkalderon left03:45
horos22 thanks..03:45
avdi left03:49
stargaming left03:50
xyzzy42 joined03:54
theperitus joined03:55
lea_1 Terminology question: What are the arguments to git-rev-parse called? Iow, how do I call arguments like 98badfa721, HEAD, ...?03:57
z1o anyone know way when I push changes. the changes appear as deleted04:00
ckoehler left04:00
doener lea_1: git-rev-parse(1) calls it "extended SHA1 syntax"04:01
lea_1 doener: Thanks!04:02
That's kinda unwieldy... :)04:02
I think I'll go with extsha1 or so. :)04:03
doener lea_1: note that it also supports ranges. I usually come up with some term "on demand"04:03
sha1, rev range, ref name, symbolic ref, ... And for the ^, ^!, ~, @, : and so on, I don't even have a term I use (exactly because I find the "extended SHA1 syntax" unwieldy and often too generic)04:04
jamesish left04:04
mithro joined04:09
madewokherd left04:09
tjafk2 joined04:10
daperitus left04:11
FunkeeMonk left04:13
a-priori joined04:18
a-priori left04:18
jerbear joined04:24
doener z1o: http://git.or.cz/gitwiki/GitFaq#head-b96f48bc9c925074be9f95c0fce69bcece5f6e7304:26
tjafk1 left04:26
spearce` joined04:31
spearce left04:32
spearce`spearce04:32
jwasson left04:32
jwasson joined04:43
z1o doener: great thanks, makes more sense now04:47
spearce left04:51
cedricv left04:53
lea_1 left04:53
alterscape joined04:54
alterscape Is this an appropriate venue to ask a gitosis setup question? Hope so, 'cause here goes: I'm setting up gitosis on OS X 10.4.11. Got it set up to the point where I can clone the gitosis-admin repository, change gitosis.conf and the contents of keydir, and commit/push the changes. I've verified that the changes are being pushed by cloning another copy of gitosis-admin. Server-side, I've created a test_project group, given access to @gitosis-04:58
doener alterscape: message got truncated it seems, right after "access to @gitosis-"04:58
alterscape @gitosis-admin, and committed/pushed those changes. Locally, I've created a local repository called test_project and registered the remote, but when I attempt to push, I get "ERROR:gitosis.serve.main:Repository read access denied." Thoughts?04:59
doener: Thanks for the heads-up, there's the rest04:59
doener no problem. No clue about gitosis either though ;-)05:00
jerbear left05:02
ggeecko_ joined05:04
cedricv joined05:05
ggeecko_ left05:07
ggeecko_ joined05:07
ggeecko_ left05:07
ggeecko joined05:07
Leefmc joined05:08
zawir left05:08
tvachon left05:09
panagos joined05:10
panagos anyone know how to delete projects from repo.git.cz?05:10
*** repo.or.cz05:10
rwanderley joined05:17
schacon joined05:17
imyousuf joined05:21
schacon left05:22
devogon joined05:24
rwanderley left05:26
Tv left05:27
d2dchat joined05:31
datafirm joined05:35
cehteh panagos: by sending patches to add this functionality to pasky :)05:36
jwasson left05:36
Leefmc left05:39
panagos right... :| (:P)05:41
tflsh joined05:41
panagos pasky: can i delete a repo i created in repo.or.cz, by sending you an email? :) i didn't do any work with it...05:46
datafirm left05:48
rmh3093 left05:49
Tv joined05:50
bobesponja left05:51
sgrimm left05:51
sgrimm joined05:52
panagos i want to start a private project with some friends, and we want to use git. but we don't want "outsiders" to be able to pull from us, so what is the simplest way to do that? so that pulling would require authentication05:59
jeckelaway06:00
kixx joined06:00
krawek left06:01
priidu joined06:02
Auris- the answer probably has something to do with ssh.06:03
alterscape panagos, I'd look into gitosis. Granted, I'm having trouble setting it up, but it seems to be a nice option06:03
you could also set up individual user accounts with git-shell as the shell and then, yes, have them ssh in06:03
chrisb left06:06
d2dchat left06:07
kixx left06:09
panagos alterscape: i noticed that gitosis doesn't have any good documentation under debian...06:11
alterscape there's very little documentation in general, but if you look at the scie.nti.st blog entry, there's a link to some more debian info06:11
theperitus left06:13
ggeecko left06:13
panagos there aren't even man pages! which is mandated by the debian guidelines, if i'm not wrong06:14
awayjeckel06:14
spuk- left06:15
spuk- joined06:16
_zack joined06:17
gittish joined06:18
deavid joined06:18
gmcinnes left06:23
Eridius|work left06:27
comp panagos: another option would be usage of Github private repo ...06:31
daperitus joined06:32
BabelO joined06:34
johan-s left06:34
panagos yeah, but it needs $$$$ :) plus, not as distributed :D06:34
tflsh gitosis isn't that hard to set up, go for that. once you've got it set up, it's very rewarding to add new projects and permissions as needed so easily06:36
dwmw2_gonedwmw2_HEL06:36
Ilari panagos: The only real pitfalls in setting up Gitosis are various configuration errors in SSHD configuration, editing '~git/.ssh/authorized_keys' by hand or using existing account (as opposed to creating new one).06:42
TuxCM- joined06:43
ajonat left06:44
Arrowmaster i never ran into any of those setting up gitosis06:44
bentob0x joined06:45
drizzd joined06:45
Ilari Arrowmaster: Yea, because they tend all to be screwups themselves...06:46
Arrowmaster: But I have seen descriptions of all those three on this channel at various points (breaking the stuff completely).06:46
Arrowmaster only issue i ran into was that the debian package wants to use the username:group gitosis:gitosis when i wanted to use git:git06:46
panagos btw, when you people write code, do you use some personal repo, while the others pull from you the new changes, or do you use a central repo, with each one pushing to their branch or whatever?06:46
i guess i'll be using the default debian configuration for sshd...06:47
Ilari panagos: I have used personal (bare) repo where I push changes and others can pull from.06:48
panagos Ilari: for that to work, i guess you have to have your repo online 24/7?06:49
Ilari panagos: The SSHD configuration issues where things like some configuration option locking gitosis account from remote logins and that...06:49
panagos aha, i see06:50
lea_w joined06:50
Ilari panagos: Well, considering the environment I used it in back then, keeping it online virtually 24/7 was no problem (shared filesystem)... :-)06:51
panagos i have the feeling that true distributed development asks for everyone to have a personal repo online all the time, so that others can pull from them (or maybe use schedules?)06:53
saintdev left06:53
reel_ joined06:55
EiNZTEiN joined06:56
ph^ joined06:58
mugwump panagos: sure, or connect to repo.or.cz, push to your mob branch06:59
drizzd_ left07:00
mithro left07:01
panagos if i want to have a shered repo, how can i only allow each user to push to a specific branch?07:04
mugwump with an 'update' hook07:07
if that hook returns an error code, the push is denied07:07
also, standard error gets relayed to the user07:07
namenlos joined07:08
Ilari panagos: Except that standard trick of identifying by UID does not work with Gitosis (since all users share Unix user account)... :-/07:08
mugwump gosh, that's a bit of a bug07:09
panagos Ilari: so how do you do that with gitosis?07:09
mugwump do they have seperate pwents?07:09
Ilari mugwump: They have seperate keypair entries.07:09
pygi left07:10
csc` left07:10
panagos mugwump: pwents?07:10
mugwump right. Well, I guess they could set an environment variable. I'm thinking of rigging the perl repository to accept push via git:// if the signature is OK07:10
Ilari mugwump: And each keypair entry contains forced command with different key id (Gitosis uses that piece to authenticate).07:10
mugwump panagos: password entry. see pwent(5)07:10
er07:11
Ilari mugwump: Except that git:// can't authenticate pulls at all.07:11
mugwump: And this was about setting private repo.07:11
mugwump getpwent(3) :)07:11
shoe left07:11
mugwump Ilari: it can't authenticate at the protocol level, no. but you can reject the push07:11
so, I'll only let signed tags get pushed07:11
and certain branches can only be pushed by "core" team07:12
panagos mugwump: no such man page on my box... (also an apt search dones't find one)07:12
mugwump It just means an entry in /etc/passwd; you can have seperate users with the same UID07:13
of course, they have the same access07:13
to unix, anyway07:13
panagos i think that would best be solved if we made git aware of account issues07:14
thiago_home left07:14
mugwump it is aware :)07:16
it has core.sharedRepository, for instance07:17
panagos left07:18
Arrowmaster all that does is set the file premissions07:18
panagos joined07:18
mugwump sure07:18
you want more? use a hook07:18
wuxia joined07:19
wuxia is there a short cut for git checkout?07:19
neither git c07:19
nor git co work07:19
mugwump wuxia: git config alias.c checkout07:19
add --global to that to make it effective for all your repos on that machine'07:19
mcella joined07:20
wuxia cool, thanks :-)07:23
Ilari panagos: I think that making Gitosis export the authentication identity so it is usable by hooks would be one-line addition to Gitosis source...07:23
brosner left07:25
nud joined07:26
saintdev joined07:31
ph^_ joined07:33
cedricv left07:35
gittish left07:40
hdu_hh joined07:50
sbeyer joined07:53
DrNick left07:53
DrNick joined07:53
gef left07:54
ajonat joined07:56
ajonat left07:57
ajonat joined07:57
wuxia left07:58
fhobia joined07:59
csc` joined08:00
koke joined08:01
sverrej left08:01
ph^ left08:01
holizz joined08:01
Surfer8 joined08:02
Surfer8 Visit http://www.FakeMagazineCover.com (upload pic make mag) - http://www.SillyWebcam.com (play with webcam online) - http://www.Is-A-Jerk.com (insulter/anon email) - http://www.ComedySearchEngine.com (fun) - http://www.BodySwitcher.com (put your face on funny body) - http://www.MedChecker.com (health) - http://www.Canuckster.com (Canada eh) - http://www.Nerdful.com (geeks)08:02
Surfer8 left08:02
horos22 left08:02
Matsimitsu joined08:05
mcella_ joined08:06
rgs joined08:06
mcella left08:06
LotR joined08:08
lolage0 left08:09
sverrej joined08:15
Ted left08:18
ebel joined08:19
_zack left08:21
_zack joined08:21
Ted joined08:21
gitte joined08:22
d2dchat joined08:22
robinr joined08:25
nicholas_ left08:29
etnt a friend of mine try to clone from my gitosis repo, but get this: ERROR:gitosis.serve.main:Need SSH_ORIGINAL_COMMAND in environment.08:33
any ideas? I have several other friends that it works perfect for08:34
_zack left08:34
etnt that the key is a ssh-dss key shouldn't matter, or ?08:34
jns left08:35
ph^_ph^08:38
redondos joined08:39
hein2 joined08:39
Sho_ left08:39
hein2Sho_08:39
pilif|awaypilif08:40
TuxCM- left08:41
sverrej left08:44
sverrej joined08:46
fhobia left08:47
Catfish joined08:52
Catfish_ left08:52
ben_h hi all08:53
anyone seen an issue where a hook is run even though it's not executable?08:53
i'm getting a "fatal: exec [ ... ]/.git/hooks/prepare-commit-msg failed."08:57
but,08:57
-rw-r--r-- 1 ben ben 1.2K 28 May 22:27 .git/hooks/prepare-commit-msg08:57
cehteh outch08:59
ben_h yeah08:59
sense: this error makes none08:59
Cherife left08:59
cehteh which git version .. and what filesystem?09:00
ben_h 1.5.5.1, filesystem is HFS+ on OS X 10.5.309:00
Beket joined09:00
ben_h the git repo is a submodule, i thought maybe it was going on the parent's hook but that's rw-r--r-- as well.09:01
ok wow09:03
i moved the file out of the directory, committing works09:03
moved it back in, still works09:03
:|09:03
the prepare-commit-msg file that is09:03
cehteh maybe rather a HFS+ / OSX issue09:04
does that happen for other hooks as well?09:04
and is that vanilla git or patched for osx somehow?09:04
ben_h it's vanilla, i compiled it myself the other day09:04
it's never happened before. and now i moved the file away and back the error has disappeared09:04
very strange indeed.09:05
jeckel left09:05
Ilari etnt: 'grep -v "no-pty" ~git/.ssh/authorized_keys' doesn't yield anything except empty or commented out (starting with '#') lines?09:07
^Beket| joined09:09
ksvladimir joined09:10
ksvladimir Is there any way to forget changes that are already in the git index ?09:12
In other words: to revert an effect of git add ?09:13
Ilari ksvladimir: 'git reset -- <file>'?09:13
pasky panagos: if you wrote the name of the repo in your message right away, your chances would be much higher :P09:13
panagos: but you can still try09:13
cehteh git reset --cached09:13
pasky to send me the mail09:13
cehteh (git gui comes handy too)09:14
pasky (tig too)09:14
ksvladimir Ilari: cehteh: thanks alot, it's exactly what I wanted09:14
cehteh pasky: you can try the xor approach and remove all repos and then add back the ones where people complain09:14
manveru left09:15
pasky cehteh: heh :)09:15
then i couldn't brag about hosting so many repositories I suspect09:15
frsk left09:17
frsk joined09:19
_zack joined09:19
Beket left09:22
charon joined09:22
duncanmv joined09:22
duncanmv hi guys, I host a lot of repos, and git-daemon-export-ok dissapears from time to time, and I have to touch it again, any idea where to start looking?09:23
pasky fsck ;))09:24
Pieter heh09:24
some commits in the samba repository have an extra space after the email address09:25
which makes git-fast-export give borked output09:25
Ilari: with checkpoints at 500, it continued until it was out of memory :)09:26
Ted left09:34
Ted joined09:36
d2dchat left09:45
markkalderon joined09:47
Mikachu duncanmv: you could use the --export-all flag? :)09:48
^Beket| left09:59
Ademan left10:00
Ademan joined10:01
namenlos left10:01
ben_h left10:02
kasimon joined10:04
pdherbemont left10:06
kasimon Hi! What's a good way to separate changes to a git tree since into different branches?10:06
I've worked on some features in parallel on my devel branch and would like to put some of them into the production (which is push/pulled on another server)10:07
rgs create a branch and cherry pick commits to there ?10:08
kasimon That sound's reasonable. I'll have a try.10:10
AlexanderS left10:14
gitte left10:18
Xyrio joined10:19
duncanmv left10:21
Yuuhi joined10:22
Sho_ left10:28
Xyri0 left10:30
Matsimitsu left10:32
Matsimitsu joined10:35
d0k joined10:37
AlexanderS joined10:42
Sho_ joined10:44
Tgmessi_ joined10:44
ForsakenSoul joined10:50
ForsakenSoul hello I'm trying to commit some file changes ... to git hub but first when I type commit I get the .swp file I should edit ... how do I exit it ? and how do I push it to my branch in github10:51
Matsimitsu left10:53
jlh left10:57
jlh_ joined10:57
Tgmessi_ left10:59
thommey_ joined11:05
thommey left11:08
thommey_thommey11:09
WildPikachu joined11:13
WildPikachu if i create a shared local git repository (--shared=group), which directories does the group need access to?11:14
*write access11:14
Mikachu i would guess .git itself, objects, and refs, maybe logs11:14
ie, almost all11:15
Arrowmaster if your using --shared wont it automaticly be a bare repo anyway?11:16
rgs left11:18
WildPikachu hrmmm "cannot clone empty repository"11:19
kukks joined11:19
WildPikachu darn11:19
how would i check something into a bare repository?11:21
(i tried to clone it btw)11:21
jettero joined11:23
jettero I am vexed by the absence of cogito in ubuntu/debian... is anyone working on that?11:24
jmspeex people are still using cogito?11:24
Mikachu cogito is depracated11:24
jettero oh, I see that11:25
well, crap... that's all I've ever really used11:25
WildPikachu should i create a git repo first and just rename it myrepo.git? or is there a way to check a file into a bare repo so i can clone it?11:26
Mikachu WildPikachu: push11:27
WildPikachu hrmmm11:27
ah, so i create one in my home dir?11:28
Mikachu presumably you already have a repo you want to publish in the bare repo?11:29
WildPikachu yea11:30
i got up to this far ...11:30
git-push /srv/git/myrepo.git11:30
hrmmm, i guess i need a ref11:30
Mikachu --all11:30
hdu_hh left11:31
WildPikachu yea!11:31
Mikachu also useful is 'git remote add foo /srv/git/myrepo.git'11:32
pdherbemont_ joined11:35
ekidd joined11:41
ben_h joined11:42
panagos_ joined11:42
ebel left11:44
Pieter Hmm11:49
the repository is now 4GB11:49
I hope it'll pack11:49
ben_h left11:49
meyering left11:57
DrNick left11:57
panagos left11:59
Ace_NoOne joined11:59
Ace_NoOne hi there - I did a commit where I included two lines that should not be in there yet - how can I retroactively remove them11:59
without a new commit that is11:59
Mikachu is it the last commit?11:59
Ace_NoOne in this case, yes - in general, might not be12:00
Mikachu in this case, remove the lines, git add, git commit --amend12:00
Ace_NoOne I've thought about that, but that would remove them from the working copy12:00
Mikachu in general, git rebase -i HEAD~N, change pick to edit for the commit you want to change, remove the lines, git add, git commit, git rebase --continue, where N is how many commits ago it was12:00
it would, yes12:01
Ace_NoOne ahh interesting12:01
thanls12:01
*thanks12:01
Mikachu to keep them in the working copy:12:01
git branch old12:01
*do the other stuff*12:01
git checkout old -- .12:01
git branch -D old12:01
that'll add the changes in the index too, so you might want to run 'git reset' after (with no arguments)12:02
Ace_NoOne cool12:02
appreciate your help12:02
Mikachu np12:02
KwisatzHaderach joined12:04
KwisatzHaderach Hi, I recorded some git commits with a bad email address. I fixed my email in the global config, but how can I record again the commits? git-rebase -i can change the comments but not the email address.12:05
koke left12:05
devogon_ joined12:07
cedricv joined12:07
dato hm, send-email --compose creates a new email. is there a way to have it add the comments directly in the first (and possibly single) patch?12:08
panagos_ left12:10
panagos_ joined12:11
Ace_NoOne KwisatzHaderach: you should have seen that coming...12:12
vmiklos dato: just use format-patch, edit the patches, then use send-email without --compose?12:12
dato vmiklos: yeah, I guess I could do that12:13
devogon left12:18
devogon joined12:20
ekidd left12:22
EmilMedve joined12:23
te joined12:24
te gitweb is a pain in the arse to put on nginx12:24
anyone have any thoughts on gitweb alternatives?12:24
KwisatzHaderach It seems possible with "git-filter-branch --env-filter" but I can't find the right command12:24
ekidd joined12:26
jettero gah, moving from cogito to regular git is going to be painful (and good)12:27
cogito was hiding a LOT from me apparently12:27
ggeecko joined12:28
devogon__ joined12:29
Ilari Pieter: The 4GiB limit was 1) For single pack 2) no longer relevant 3) And for output size. 4) Git-fast-import packs are far from optimal.12:31
vbabiy-laptop joined12:31
jettero is there a way to get 'git status' to use the pager without pipping through less by hand?12:32
DeFirence joined12:32
Ilari jettero: IIRC, it does in newer versions...12:32
lea_w I'm getting a clone of the git repository, but none of the heads (pu, man, next, master, ...) show up under git-branch or git-branch -r. How do I access them, and am I wrong to expect them to be there?12:32
devogon_ left12:33
DeFirence could someone please give me an example line that excludes a directory to add to /info/exclude12:33
Ilari lea_w: They should be there in 'git-branch -r' output...12:33
lea_w: Unless it is some whacky copy without them...12:34
jettero Ilari: how new... (I'm git version 1.5.4.3)12:34
Ilari jettero: I have git version 1.5.6.rc0.40.gd683 (and it does page git status output).12:35
KwisatzHaderach git-filter-branch --env-filter "GIT_AUTHOR_EMAIL=foo@example.com" master..branch112:35
lcapitulino joined12:35
KwisatzHaderach my command works 1 time, but then it fails with "Namespace refs/original/ not empty" :-/12:36
Ilari KwisatzHaderach: 1) That would change author email in ALL commits, 2) It is missing 'export' of that variable.12:36
ironfroggy joined12:36
DeFirence Ilari: cant you help me please?12:36
lea_w Ilari: Thanks! My clone must have had some problem.12:36
Ilari lea_w: That kind of thing could happen if you get clone of clone (and the clone is carelessly done).12:37
lea_w Ilari: What does "carelessly" mean here?12:37
KwisatzHaderach adding "export" does not fix the failure on "Namespace refs/original/ not empty"12:37
lea_w Ilari: I think it might have been a clone of a clone indeed.12:37
jast KwisatzHaderach, filter-branch stores a copy of the old refs in refs/original and it will refuse to work again until you move it out of the way or delete it12:38
Ilari lea_w: 'git clone git://foo' alone is 'carelessly done' in this context.12:38
Catfish left12:38
Ilari lea_w: Since clone only makes local branch to track master...12:39
tzafrir_home I need help with adding a command-line option to git-svn: http://paste.debian.net/4674/12:41
to allow me to use an SVN client-side certificate for authentication12:41
(any better suggestions would be welcomed. If they actually work)12:41
devogon left12:42
tzafrir_home Specifically: I'm having some problems with just the right place to stick an extra command-line option12:42
lea_w Ilari: Thanks! But, after reading man git-clone, I still don't get it -- what would I have to do to keep the branches? cp?12:43
Mikachu tzafrir_home: might get a better response on the mailing list if no one says anything here12:43
Catfish joined12:45
deavidsedice joined12:46
|mako| joined12:47
DeFirence could someone please give me an example line that excludes a directory to add to /info/exclude?12:47
te left12:47
jast DeFirence, /directory (see man gitignore for details; the "ends with slash" form documented only works in 1.5.5 and newer afaik, even if it was documented before that)12:49
Ilari lea_w: Basically, soemething like 'git --bare clone ...'...12:50
|mako| hi12:51
kristoffer joined12:51
lea_w Ilari: that's what i would have thought, but it doesn't work -- just gives me a single master branch.12:52
|mako| I have another question - git-status shows me a bunch of files that were physically removed from the disk and now I want to utrack them - git-rm --cached would do the trick but is there a way to git-rm them in one go?12:52
I mean ... the files are scattered around the project, there is many of them and I don't want to git-rm each of them manually12:52
Ryback_ joined12:52
jast |mako|, if you're fine with updating all files that are already tracked in the same go, try git add -u .12:53
Ilari |mako|: 'git ls-files --deleted -z | xargs -0 git rm --cached'12:53
manveru joined12:54
|mako| thanks a bunch :) good timing12:54
markkalderon left12:56
pygi joined12:59
devogon joined13:01
nud left13:07
jettero is "git status" the usual way of seeing what was modified?13:07
Ace_NoOne jettero: yes13:07
TGEN left13:08
TGEN joined13:08
ggeecko_ joined13:12
ggeecko_ left13:12
lea_w left13:12
lea_w joined13:12
ggeecko_ joined13:13
ggeecko_ left13:13
gitte joined13:13
ggeecko_ joined13:15
Pieter Ilari: yeah, I was thinking about my own memory usage when packing :)13:17
ggeecko_ left13:17
ggeecko_ joined13:17
mcella joined13:17
chris2 joined13:18
ggeecko_ left13:19
robin_ joined13:19
jettero how can you tell if your local commits have been pushed to a remote repo?13:20
ggeecko_ joined13:21
cmarcelo joined13:21
ggeecko_ left13:21
ekidd left13:21
Pieter jettero: git log --left-right master..origin/master will show you what commits you have and remote don't, and also the other way around13:21
nud joined13:22
ggeecko left13:25
jettero Pieter: I get various errors form that. "unknown revision or path not in the working tree." and "Use '--' to separate paths from revisions" ...13:25
Pieter oh, you'll have to use 3 dots (...)13:26
juanjoc joined13:26
jettero same13:27
jast this will obviously only work if your remote is called 'origin' and the branch is called 'master' on both ends13:30
jettero how can I tell what my remote is called? git push and git pull are getting and putting things from somewhere...13:32
this transition from cogito is painful so far13:32
jast git remote13:32
afaik cogito set up remotes a lot differently than git does13:33
jettero yeah... I'm getting that. git-remote isn't showing anything, but push/pull still work somehow13:33
mcella_ left13:34
jettero ahh, ... I re-cloned and now git remote seems to work13:35
DeFirence ive tried adding all sorts of excludes to the exclude file, but git-gui still shows all the files as unstanged changes, anyone know why?13:36
jast DeFirence, perhaps you already added the file previously? exclude/.gitignore only apply to untracked files13:36
ggeecko joined13:37
DeFirence the files were not there when i cloned the repo13:37
but when i compiled the code it created /bin and /obj directories13:38
ekidd joined13:38
DeFirence now i want it to ignore those13:38
but i cant get it to13:38
ToxicFrog left13:38
jast so what does your exclude file say right now? (http://git.pastebin.com/ might be helpful)13:39
wagle_ joined13:39
schacon_ joined13:39
nud left13:39
DeFirence ive tried everything13:39
ive tried directories like /bin, bin/, /bin/13:40
ive tried the full path13:40
etc13:40
nothing works13:40
wurble joined13:40
wurble left13:41
jast /bin works fine for me13:41
koke joined13:41
jast obligatory question at this point: which version of git are you using?13:41
DeFirence even if its /project/something/bin?13:41
nud joined13:42
DeFirence Git-1.5.5-preview2008041313:42
jast yes13:42
DeFirence well git status shows all the bin files as modified13:43
:/13:43
kristoffer left13:43
jast to make sure the files didn't end up in the index by accident, try this: git ls-files | grep bin13:43
tzafrir_home left13:43
DeFirence im putting the paths into /info/exclude btw13:43
wagle_ left13:44
jast .git/info/exclude, right?13:44
DeFirence git ls-files | grep bin lists all bin files?13:44
yeah13:44
wagle left13:44
jast that command should list all files in bin that ended up in the index accidentally13:44
DeFirence ending up in the index accidentally?13:44
:S13:44
jast well, just tell me if it outputs any of the filenames you want ignored13:45
Tv left13:45
DeFirence all of those i want ignored? :P13:46
schapht joined13:46
ekidd left13:46
jast yeah, or that. do they show up or not?13:47
schapht hi, I commited some large files to my repository by accident. I've been googling around a bit but can't find anything about how to totally remove objects from a repository's history. Can someone point me in the right direction?13:47
jast schapht, did you commit stuff you want to keep after that?13:47
brosner joined13:48
schapht no, but I commited some code in the same commit that I'd like to get back. But it wouldn't be the end of the world if I had to redo it.13:48
jast so it's the most recent commit, right?13:48
schapht one back13:48
DeFirence jast: i want all of the files listed there ignored13:49
schapht jast: most recent I deleted the files thinking maybe I could prune or something13:49
wurble joined13:50
jast DeFirence, so what probably happened is that you accidentally told git to start tracking (in other words, you put them into the index, for example by using git add) them before you set it up to ignore them, in which case the ignore patterns are basically useless.13:50
wurble How do I get a diffstat since a certain date?13:50
DeFirence how can i make it not track them then?13:50
jast DeFirence, you can remove all that stuff from the index like this: git rm --cached -r <directory to remove>13:50
DeFirence ok, thanks13:50
alterscape Gitosis question: git/gitosis set up ok on the server, can clone/edit/commit/push gitosis-admin, but when I try to push any other repository (yes, set up in gitosis.conf and pushed), I receive the "ERROR:gitosis.serve.main:Repository read access denied" error.13:51
jlh_jlh13:51
Mikachu wurble: open gitk and pick a good commit sha1 and say git diff --stat sha113:51
jast schapht, well, if it's one back, i'd suggest you first keep yourself a copy of the most recent patch (i.e. the good one): git format-patch HEAD^13:51
brosner left13:52
jast schapht, after that, git reset --hard HEAD^ to kill everything (including changes in the working tree) after the commit we want to clean up13:52
schapht, then, git rm --cached thefile && git commit --amend to recreate the commit without that file13:52
wagle_ joined13:53
jast schapht, finally, git am <the patch file created earlier>13:53
ggeecko_ joined13:55
jast schapht, the old object will still be kept for a while, though. if you want to do the pruning immediately (at the cost of losing a couple of ways of going back to old states), do git reflog expire --expire=0 --all and then git prune --expire 0. although if you did anything wrong in the previous steps, this will probably eliminate all chances of undoing that mistake.13:55
discomury joined13:56
jbunster joined13:56
jast alterscape, a common problem is that "writeable" is actually spelled "writable" and the former is ignored by all but the most recent (master) versions of gitosis13:57
SPAZZZ joined13:57
cannonball joined13:57
SPAZZZ http://www.FakeMagazineCover.com - Upload photo to fake magazine cover templates13:57
http://www.SillyWebcam.com - Play with webcam online (games, take pics, effects)13:57
http://www.Is-A-Jerk.com - Random Insults/Anon Email13:57
alterscape jast: I thought I'd checked that, but let me have another look and make sure. thanks for the response.13:57
SPAZZZ http://www.VirtualHolyBible.com - Holy Bible, online version13:57
http://www.ScrapbookGenerator.com - Make free online digital scrapbook pages13:58
http://www.WHAK.com - W>H>A.K. Comedy Radio13:58
SPAZZZ left13:58
alterscape jast: writable is spelled correctly. Let me paste my gitosis.conf into pastebin..13:59
pygi left14:00
jast in that case i actually think it's more likely to be a filesystem permissions problem14:01
janm joined14:01
lea_w pasky: So, regarding the rev_parse/parse_rev patch to Git.pm I posted:14:02
Is it stylistically ok for parse_rev to return undef for invalid rev names, and throw exceptions for pipe-read (or more general) errors?14:02
alterscape ok. I did a sudo chown -R git /Users/git and a sudo chgrp -R git /Users/git ..14:02
hm14:02
pasky lea_w: I'd say so14:02
|mako| left14:02
wurble Mikachu: Is there no way to use --since like in git-log?14:03
lea_w pasky: Great... I believe you wrote the command (piping) functions in Git.pm, correct? command_oneline (and probably other command methods) don't allow me to check for non-zero return value -- any fundamental reason for that? So if it itches, could I change it (e.g. by adding an option to throw an error on non-zero close, and storing that option in the context)?14:03
pygi joined14:03
eternaleye_ left14:03
alterscape jast: ok.. my permissions string for gitosis-admin.git looks like thus: drwxr-x--- 12 git git 408 May 29 23:21 gitosis-admin.git14:03
jast: my permissions string for the other repository looks like thus: drwxr-xr-x 2 git git 68 May 29 20:45 eventory-viz.git14:04
schapht jast: that seemed to get the files out of there but my .git is still huge14:04
even after the prune ops14:04
alterscape or actually, hold on.. hold that last14:04
I think I created that folder last night so it probably shouldn't be considered valid info14:05
pasky lea_w: in case of non-zeor return value, an exception will be thrown14:05
alterscape I'm trying to push a newly created project called test_project.git now, and it won't even get to the point of creating a directory14:05
pasky lea_w: so, you catch Git::Error::Command when calling them and can check for $E->value() in the catch block14:06
lea_w pasky: That doesn't seem to work for me... Let me check.14:06
jast schapht, it's sometimes a bit tricky to get things pruned all the way down. anyway, rest assured that push/pull won't transfer that object and git gc will eventually clean away the old object.14:06
pasky lea_w: actually, the config*() methods do exactly that ;)14:06
etnt left14:07
ggeecko left14:08
Ace_NoOne I created a new branch from another branch, rather than from master - how can I make this as if I had used the master as "template"?14:08
tcoppi left14:09
jast Ace_NoOne, have you committed anything else yet?14:09
into that branch, that is14:09
Ace_NoOne jast: yes14:09
unfortunately s14:10
o14:10
I noticed when merging with the master14:10
jast okay, that calls for a bit of history rewriting14:10
tcoppi joined14:10
Ace_NoOne uh-oh14:10
pygi left14:11
schapht jast: so there's one more hitch to this. I already pushed this stuff to my origin. I can just dump my history and start fresh if you think this'll get too complicated.14:11
jast schapht, if other people have access to that origin, they already have the 'bad' version so it's possibly a bit late for fixing things14:11
Ace_NoOne, i assume you haven't published the changes in any way yet?14:12
schapht just me actually, the origin is just for storage really14:12
Jerdent joined14:12
jast schapht, ah, okay. in that case, git push has a -f flag for forcing evil updates :)14:13
schapht fun :)14:13
jast fun of the git variety14:13
lea_w pasky: You're right, thanks. :-) I don't have any way to distinguish non-fatal ("invalid revision name") errors from other problems though. Mh, so it'll always be undef in case of errors, I guess. No exception throwing.14:14
pasky: Do you have any general strategy on what to do with STDERR? Discard it to avoid clutter, or allow for error message on STDERR if invalid revision names (yielding undef) are pased?14:15
imyousuf left14:15
schapht jast: awesome, that did it14:15
thanks!14:15
Ademan left14:15
Bombe sometimes misses git-finish-my-code.14:15
jast you're welcome14:15
ggeecko_ left14:15
alterscape jast: what should I be looking for in terms of permissions? (thanks for the ongoing help btw)14:16
pasky Bombe: I bet you could easily do it as diffcore frontend ;)14:16
Bombe *g*14:16
jast alterscape, good question. things pretty much worked out of the box here. sure would be nice if gitosis was a bit more verbose, wouldn't it? ;)14:16
alterscape jast: yes! I'm writing a blog entry on my experiences, though, so hopefully I'll add to the documentation at least a bit. (it's an OS X 10.4.11 install which is completely unsupported anywhere.. bleh.)14:17
leachim6 joined14:17
leachim6 is this old ? http://gitcasts.com14:17
pasky lea_w: that is tough question14:17
Ace_NoOne jast: sorry, was called awat14:18
no14:18
just local14:18
pasky lea_w: I suggest not to touch STDERR unless failing command is normal condition (e.g. when calling git-rev-parse --gitdir from Git::new, which can fail but that condition is perfectly valid and supported)14:18
ggeecko joined14:19
pasky lea_w: we might want to allow later for applications to globally affect default stderr processing but there's currently no need for that14:19
jast Ace_NoOne, git checkout -b newbranch master; git rebase --onto master wrongoldbase oldbranch; (delete oldbranch and rename newbranch)14:19
Tv joined14:19
lea_w pasky: okay, good14:19
robin_ left14:19
Jerdent Hi ! I can't clone a remote git repository on my FreeBSD6 box using git 1.5.5. The rep weights about 190MB, is cloned ok on other boxes, but here I got a fatal: Out of memory, malloc failed - fatal: index-pack failed14:19
Ace_NoOne jast: lemme try that14:19
robinr left14:19
pasky lea_w: (by "not to touch STDERR" I mean "keep it at default value, that is, stderr output left turn on")14:20
dsop how can i see the file FOO.c at the state of commit acc01f without traversing the commit -> tree -> blob object?14:20
pasky *turned14:20
dsop manually...14:20
Tv dsop: git show acc01f:FOO.c14:20
lea_w pasky: There's some stuff about when and where to merge I'd like to discuss, but gitster should probably around for that. Junio, are you there? If not, I'll move it to the list.14:20
dsop Tv: thanks14:21
deavidsedice left14:21
leachim6 Ok...time for thunderbird to test it's strength ... downloading all the headers from gmane.comp.version-control.git14:21
84k of them!14:21
kasimon left14:21
pasky lea_w: yes, it's best to discuss this on the list i think14:21
jast sounds like fun14:21
leachim6 do any of you guys use git for you .files ?14:21
jengelh dotfiles?14:21
Bombe does.14:22
jast leachim6, yes, but it's not recommended. git is designed for repositories of files that belong together.14:22
bryanl left14:22
bryanl joined14:22
ekidd joined14:23
pasky why is it not recommended?14:23
there should be no problem per se14:23
and some of the dot-files can belong together14:24
like, you move some of your stuff from .profile to .bashrc or vice versaq14:24
leachim6 jast, there was a tutorial somewhere14:24
you move all of your config files to .config_files or something like that14:24
put them all under git14:24
jast as i said, i'm actually doing it myself14:24
leachim6 and then symlink them to your home folder14:25
sounds like a good idea to me14:25
also...could someone please explain the difference between git commit and git commit -a14:25
Tv i don't even symlink14:25
but i'm careful about not causing conflicted merges14:25
jast symlinks can break with some programs14:25
leachim6 I've read documentation everywhere ...14:25
Tv jast: that'd be why ;)14:25
jast leachim6, do you know what the index (sometimes called staging area) is?14:26
leachim6 nope14:26
I've read about it ... but I don't understand it14:26
I've been using -a the whole time14:26
ToxicFrog joined14:26
jast let's summarize the alternative workflow then14:27
ToxicFrog I so wish that git-clone and git-fetch had a "pass these arguments to rsync" option.14:27
jast you can, at any time, call git add on files to put snapshots of these files into the index. when you later call git commit, exactly these version of the files will be committed. all commit -a does is automatically update all files in the index that are already in there, prior to committing.14:28
ToxicFrog Or a backend-independent "please do not murder my net connetion" option.14:28
jast in short, the index is a great tool for more fine-grained control of which parts of your uncommitted changes you want to end up in the next commit. with git add -i, you can even add only parts of changes in a given file and keep the rest of the changes in the same file out of the index.14:29
and now i'll be away for a while.14:30
leachim6 so you could skip the index with no ill effects ?14:30
ToxicFrog What do you mean by "skip the index"?14:31
vbgunz joined14:31
jast basically, yes, you can ignore that concept. you just lose a bit of git's power by doing so. and now i'm really gone.14:32
leachim6 ToxicFrog, use -a14:32
git commit -a14:32
schacon_ left14:32
ToxicFrog That doesn't "skip" the index, it just updates and commits the index in one step14:32
jast no i'm not. the final thing i'd like to point out is that you can do both. sometimes i use commit -a and sometimes i don't.14:32
ToxicFrog But yes, you can safely use that. Note that if you want formerly-untracked files to be added to git, or currently-tracked files to be removed, -a won't cut it; you'll need to do that explicitly.14:33
-a is just "add all the files I already know about to the commit, and then commit them"14:34
dwmw2_HELdwmw2_gone14:36
ggeecko left14:37
Ace_NoOne jast: what did you mean by "wrongoldbase" up there?14:43
gmcinnes joined14:44
ggeecko joined14:46
jmalonzo joined14:46
Pieter How hard would it be to get git-clone to support url aliases?14:47
ciaran29d left14:48
holizz left14:48
arun left14:49
ciaran29d joined14:49
jettero Pieter: I think I just saw that under git help config14:51
Pieter jettero: it doesn't work for git-clone14:51
roylee17 joined14:51
jettero oh14:52
arun joined14:53
dwmw2_gonedwmw2_HEL14:54
Mikachu wurble: no14:54
alterscape jast: fixed my gitosis issue, if you want some knowledge for future reference. The only change I made was to reorder my gitosis.conf so that the members line came before the writable line for each group except gitosis-admin. I have no idea WHY it fixed it, and that might be a red herring for something I accidentally changed in the last hour, but there you go.14:55
kumbayo joined14:56
janm left14:59
a-priori joined14:59
ruphy left14:59
Ilari alterscape: The file is versioned, so maybe try 'git log -p'? :-)15:00
jast Ace_NoOne, the branch you accidentally based your branch on, i.e. the one that should have been master15:00
Ace_NoOne ah ok, thanks15:01
but ... what is oldbranch then15:01
alterscape Illari: The other changes I'm referring to would be access permissions for the git account, etc. But yes, for gitosis.conf changes ;)15:02
jast Ace_NoOne, the branch you want to transplant onto master now, i.e. the branch you based upon wrongoldbase15:02
say you did git checkout -b wrongbranch notmaster rather than git checkout -b wrongbranch master15:03
and that's what you want to fix now15:03
then you do git rebase --onto master notmaster wrongbranch15:03
jengelh one parameter too much it seems15:03
jast in fact the whole renaming and deleting business is optional afaics15:04
jengelh, it would be if not for --onto15:04
jengelh git checkout branchtorebase; rebase --onto stickithere cutitoffhere15:04
schacon_ joined15:04
Ace_NoOne jast: ahh I see15:04
jast yeah, i suggested a few gratuitous steps earlier15:04
Ace_NoOne thanks jast15:05
jast not that they do any damage15:05
Ace_NoOne :)15:06
solars left15:06
solars joined15:06
ruphy joined15:09
lea_1 joined15:10
bdiego joined15:11
mithro joined15:12
gmcinnes left15:15
Sho_ left15:16
krawek joined15:16
gebi git-svn makes a really good svndump replacement for non-root users :)15:17
it just saved my day because after a bigger commit the svn repos was dead15:17
Sho_ joined15:19
ToxicFrog It seems like a disproportionaly large amount of the discussion in here is about git interaction with svn. I do wonder why.15:21
schacon__ joined15:23
schacon_ left15:23
jast probably because svn is often forced on you and git-svn is the least painful way to deal with that15:24
reel_ left15:25
bdiego left15:27
lea_w left15:28
brosner joined15:29
ggeecko left15:29
holizz joined15:32
bobesponja joined15:32
DeFirence when you use 'git commit -a'15:34
jeckel joined15:34
DeFirence what do you do after you've typed the commit msg??15:34
jast save and exit the editor15:34
DeFirence how?15:35
on git bash windows15:35
:p15:35
agib left15:35
jast well, can you see what editor you've got there?15:35
my first guess would be nano15:36
DeFirence i have no idea15:36
its just an editor15:36
jast if it's nano it says so in the topmost line15:36
WildPikachu left15:36
Ace_NoOne left15:37
Bombe Does it show "~" at the start of every line below the commit message?15:37
DeFirence says the path and the lines at the bottom15:37
jast heh :)15:37
DeFirence no15:37
and no15:37
Bombe (Remember: If your editor doesn't show these it's TOTALLY BROKEN. :)15:37
krh joined15:37
jast let's save the confusion for later... :P15:37
DeFirence what?15:37
Bombe :)15:37
DeFirence lol15:37
:P15:37
Bombe DeFirence, what happens when you press ":"?15:38
ToxicFrog DeFirence: try hitting escape several times, then :w15:38
jast so did you install git via cygwin or is that msysgit?15:38
ToxicFrog And then enter.15:38
jast but... but... no tildes! :(15:38
DeFirence msysgit15:38
: works :P15:38
gmcinnes joined15:38
Bombe DeFirence, that's nice but what does it do? :)15:38
DeFirence : lets me enter a command15:39
ToxicFrog DeFirence: "works" in what sense?15:39
Ok, so you're using a vi-oid.15:39
jast in that case, :wq (enter) saves and exits15:39
Bombe Try "wq" as a command. :)15:39
DeFirence yeah, ty15:39
ToxicFrog :w will save, :wq will save and exit and :q! will exit without saving.15:39
Bombe Hmm. Strange. No tildes!15:39
jast consider using a different editor if you don't want the learning curve of a vi-like one :}15:39
ToxicFrog Not all vi-oids use the tildes.15:39
And some terminal editors have weird color configurations that mean they don't show up even if vi uses them.15:40
jast though i wouldn't know what else msysgit ships with15:40
ToxicFrog Er, terminal emulators.15:40
jast probably nothing15:40
ToxicFrog Well, it's a windows machine, so you can always do something like env EDITOR=notepad.exe git commit15:40
And msys should come with nano15:40
jast ah15:40
but notepad forks into the background, doesn't it?15:40
Bombe I don't think notepad.exe will work.15:41
Yes, it does.15:41
ToxicFrog (assuming msysgit is msys+git, not git + minimal subset of msys)15:41
charon it only needs vi. the only other option would be emacs, but that contradicts the assumption that the user wants to run/keep windows as OS15:41
ToxicFrog It does?15:41
Hmm, been ages since I used it, so.15:41
Bombe Yes.15:41
ToxicFrog That's annoying.15:41
Mikachu what about nano?15:41
jast pretty much all win32 GUI apps go to background15:41
(iirc)15:41
DeFirence env EDITOR=notepad.exe git commit works, but i think wordpad would work better15:41
since notepad doesnt work nice with LF instead of CRLF i think15:42
jast you can always use a real editor instead ;)15:42
there's tons of decent ones, e.g. notepad++15:42
ToxicFrog Aah, yes15:42
jast though, of course, none can beat vim15:43
Bombe So true.15:43
DeFirence but then ill have to type env editor = w/e before every commit line :/15:43
jast the only editor i've got that can be scripted in four different languages!15:43
pygi joined15:43
Bombe git config core.editor notepad.exe should take care of that, DeFirence.15:43
jast no, you can change environment settings in the control panel (system -> something)15:44
or that15:44
ToxicFrog Bombe: assuming he has a recent version15:44
jast though git config --global is probably more useful15:44
Bombe ToxicFrog, I have no idea when core.editor was added. I started using git a week ago. :)15:44
jast i don't think particularly non-recent versions of git exist as msysgit packages15:44
ToxicFrog And sys it's msys, you could also put it in your .bash_profile15:44
Jerdent left15:44
ToxicFrog I think it was in 1.5.3.015:44
1.5.2.x doesn't have it15:45
jast of course we all know what version debian stable ships with :}15:45
EiNZTEiN left15:45
Bombe What's this debian thingy I keep hearing people talking about?15:45
rafl is there a git command to find the .git/ directory from within a subdirectory in a repository?15:46
jast Bombe, it's a special fork of openssl15:46
ToxicFrog Well, ubuntu 7.10 (which, to my sorrow, I must use at work) is still using 1.5.2.515:46
So debian stable is probably somewhere around 1.5.015:46
Bombe jast, ah... weak cryptography to comply with US export restrictions, I assume?15:46
jast rafl, git rev-parse --git-dir15:46
ToxicFrog, actually it's 1.4.415:46
rafl jast: thanks!15:47
jast Bombe, in a manner of speaking, yeah.15:47
Overshard joined15:47
mithro left15:47
jast Bombe, actually it was phenomenally weak cryptography to make debugging easier, thanks to an overzealous patch not really discussed with upstream15:47
hint: what do you get when your PRNG produces at most 32768 different seeds?15:48
Bombe jast, I read the discussion and upstream itself wasn't really sure about what to do. :)15:48
jast upstream wasn't aware that the patch was supposed to go into a production package15:48
Bombe jast, which doesn't really matter... if upstream knew that this patch is bad it shouldn't be in a testing package, either.15:49
jast anyway, nothing that a liberal application of decapitations can't fix.15:49
Bombe Right.15:49
jeckel left15:49
jast upstream assumed that the question was asked for local debugging purposes, i.e. not supposed to ever go into any sort of package at all.15:49
Bombe Communication FTW.15:49
Bombe goes outside to have a smoke.15:49
jast the maintainer didn't make his goal very clear at all and he didn't include a patch, just a description of what he wanted to change15:50
ToxicFrog jast: and their answer, IIRC, was "use -DPURIFY", not "sure, comment it out"15:50
jast there were two different answers afaik15:51
one was "if it helps debugging i'm all for commenting it out"15:51
d2dchat joined15:51
gebi ToxicFrog: there are far more svn repositories than git out there, and every git user i know of uses git-svn to deal with them ;)15:52
jast it wasn't really hard to convince two of my colleagues (out of three) to start using git-svn even if they had never tried git15:53
larsl joined15:54
gebi as soon as there is one active developer using git-svn it becomes quite stressfull for the svn devs *g*15:54
zachinglis joined15:55
Mikachu and for people on #git :)15:56
DeFirence does git-gui not care about excluded files and directories?15:56
jast yes it does15:56
DeFirence cause it shows all the untracked excluded files as unstaged changes15:56
jast well, in the sense that it respects the ignore patterns15:56
did you do what i suggested you do?15:56
Mikachu DeFirence: and git status doesn't list them?15:56
DeFirence yes jast15:57
aroben joined15:57
jast okay, Mikachu's question next :)15:57
DeFirence http://rafb.net/p/hKaLG492.html15:59
thats my git status15:59
so its not excluding15:59
gmcinnes left15:59
DeFirence my excludes file has the following:16:00
Thumbs.db16:00
"/bin"16:00
"/obj"16:00
gmcinnes joined16:00
jast /bin will only work on the top level16:00
to ignore all files/directories called bin, leave out the /16:00
_zack left16:00
DeFirence ahhh16:01
schacon_ joined16:02
schacon__ left16:02
mvanholstyn joined16:02
lea_1 left16:02
hipertracker joined16:02
psilo2_ joined16:03
acm joined16:04
vbabiy-laptop Hey if I mad a change to a file and I want get clear the change before I commit how can I reset it16:07
Like it CVS I would just rm the and do a update16:08
larsl git reset --hard16:08
Oh, just one file?16:08
Just don't git-add it before you git-commit.16:08
Bombe Hmm... if I have added a file to the index and changed it afterwards, how can I reset it to what's in the index?16:09
jast Bombe, git checkout -- file16:09
Bombe Ah.16:09
nud left16:09
Bombe Thanks.16:09
jeckel joined16:09
EiNZTEiN joined16:13
psilo2 left16:13
lea_w joined16:14
EiNZTEiN_ joined16:14
d2dchat left16:15
ruphy left16:17
Xyri0 joined16:17
alterscape left16:17
discomury left16:19
redondos left16:20
VitaRara joined16:23
eternaleye_ joined16:24
schacon_ left16:26
Xyrio left16:27
Xyri0Xyrio16:27
arun left16:28
EiNZTEiN left16:28
EiNZTEiN_EiNZTEiN16:28
zachinglis left16:32
pasky uhhm16:36
horos22 joined16:36
pasky please, make it clear to me16:36
if I use --pretty=format, there's really _no_ way to get rid of the totally stupid extra 'commit' lines?16:36
pasky hates git :)16:37
Eridius pasky: what's wrong with those commit lines?16:37
pasky Eridius: they get in my way! :)16:37
Mikachu how do you mean?16:37
Eridius if you hate them that much, you can grep them out16:37
pasky when I use --pretty=format, that means _I_ want to have _full_ control on the format of the output16:37
Mikachu if i write git log -1 --pretty=format:hello, it just prints hello and nothing else16:37
pasky not wanting rev-list get in my way trying to outsmart me16:37
Mikachu ah, in that case, use log instead of rev-list? :P16:38
pasky pasky@pixie:~/src/git> git rev-list -1 --pretty=format:hello HEAD~100..HEAD16:38
commit 1af8bca79766198c591d8db58f778a98e96627e216:38
lcapitulino left16:38
pasky hello16:38
hm16:38
mcella left16:39
pasky my idea was that since I'm coding porcelain I'm going to use the plumbing16:39
but apparently there's still no clear distinction of that in git16:39
oh well16:39
still, having such a distinction is really obscure16:39
but thanks :)16:39
pasky will not elaborate on the fact that -1 is undocumented16:39
Mikachu it was a pure accident i found it, since you didn't mention what command you were using :)16:40
pasky heh :)16:40
horos22 left16:42
lcapitulino joined16:42
pasky ok, -1 is actually documented16:42
at least for log16:42
gitte left16:44
Eridius wow16:45
mischan16:45
eternaleye_ left16:45
rubydiamond joined16:49
arun joined16:50
ciaran29d left16:52
d2dchat joined16:55
priidu left16:56
timocratic joined16:57
mithro joined16:59
timocratic left16:59
priidu joined16:59
timocratic joined17:00
ckoehler joined17:01
mvanholstyn left17:02
ForsakenSoul hello17:03
can someone guide me through the commit process please ...17:03
ToxicFrog In general, it's just:17:04
Ilari ForsakenSoul: Having trouble understanding the index (a.k.a. staging area)?17:04
ToxicFrog git add <list of files or directories you want included in the commit> # this adds them to the index17:04
git commit # this turns everything in the index into a commit, and stores it17:04
tenpaiyomi joined17:06
charon left17:06
tenpaiyomi What do I do if I'm trying to commit my changes to the server, yet I'm getting "Cannot dcommit with a dirty index. Commit your changes first, or stash them with `git stash'.", however when I do git status, it states I have nothing to commit17:06
ToxicFrog What happens if you try git reset --mixed HEAD?17:08
tvachon joined17:08
tenpaiyomi That worked17:09
Awesome, thank you17:09
ForsakenSoul ilari ... I know the concepts of the thing and I know the command but when I type git-commit with the files already added17:09
I get the index in my console to edit it17:09
and don't know how to exit from here17:09
is this because I have some unmonitored files ?17:09
Ilari ForsakenSoul: It is asking for commit message.17:09
ForsakenSoul: The lines prefixed with '#' are just comments and ignored.17:10
gmcinnes left17:10
ToxicFrog ForsakenSoul: the default editor is vi; hit insert a few times, type stuff in, then exit with <esc>:wq<enter>17:11
ForsakenSoul ok17:11
ToxicFrog Alternately, set the environment variable EDITOR to something else like nano, or git config core.editor17:11
ForsakenSoul I'll try that17:12
ToxicFrog alternately alternately, use "git commit -m <message>" if you're ok with a short commit message17:12
Ilari Isn't it also possible to write commit message to file and use '-F <filename>' to commit?17:13
bentob0x left17:13
ToxicFrog Aah. Yes, that'll work17:14
ggeecko joined17:14
ToxicFrog Or even -F-, type it in and hit ^D to finish17:14
gmcinnes joined17:14
nud joined17:14
ForsakenSoul toxicfrog * no commit message? aborting commit.17:14
ggeecko left17:15
ForsakenSoul would you give me an example for a commit message17:15
ToxicFrog Anything non-whitespace17:15
And non-comment17:15
One of my recent ones, say:17:15
gmcinnes left17:15
jaf joined17:15
ToxicFrog Fixed configuration stuff17:15
17:15
- chmod a-x config files17:16
- changed default tileset to "lite" version17:16
ForsakenSoul didn't you say non-whitespace ?17:16
ToxicFrog As in "contains stuff other than whitespace"17:16
If your commit message is *entirely* whitespace and/or comments, it'll treat it like no message17:16
So you can't just immediately save and quit when it asks you for a message, you have to type *something*, or use -m or -F17:17
jaf I am trying to do my first git commit, and keep getting the error "fatal: There was a problem with the editor vi." - nothing in the docs that I can find on this17:17
this is on os x leopard17:17
ToxicFrog jaf: by default, it tries to launch vi so that you can type in a commit message17:18
I suspect this is what happens if you can't17:18
try any of:17:18
jaf this happens when I try to exit vi17:18
it launches vi fine17:18
ToxicFrog Ok, this is also probably what happens if vi exits with a nonzero exit code17:18
$ env EDITOR=nano git commit # try a different editor, or17:18
ForsakenSoul toxixfrog how do I set up a different editor like gedit for instance ?17:18
ToxicFrog $ git commit -m message # enter message on command line, or17:19
$ git commit -F file_with_message_in_it # create the message seperately17:19
ForsakenSoul do I have to do the env editor command every time ?17:19
ToxicFrog ForsakenSoul: if you have a recent git (1.5.3.x+), you can set the core.editor configuration variable17:19
jaf ToxicFrog: no way to just use vi?17:19
ToxicFrog Eg, git config --global core.editor gedit17:19
jaf: if you can get vi to exit normally rather than exiting with an error code, it should work, I think17:20
ForsakenSoul ok .. I'll just do it in a different file17:20
it would be less effordless17:20
ToxicFrog But this might be some weird OSX-specific bug or something, I don't know17:20
ForsakenSoul: what?17:20
ForsakenSoul and I can do it more detailed17:20
jaf ToxicFrog: ok, thanks for the info. much obliged.17:20
ForsakenSoul $ git commit -F file_with_message_in_it # create the message seperately17:20
ToxicFrog jaf: one thing you might be able to do, if you can't fix vi itself, is try a script that just does "vi $@; exit 0"17:21
And then make that your editor17:21
mediogre joined17:21
ToxicFrog ForsakenSoul: that's easier than using env or setting core.editor?17:21
ForsakenSoul well maybe not ... but I'm still very very new to git17:24
and don't want to mess around with the settings just for now17:24
just to get a bit confortable17:24
and than I'll play with it17:24
d2dchat left17:25
ToxicFrog Ok17:25
Well, for future reference, the man page for the settings is man git-config17:26
The setting in question is core.editor, if you have a sufficiently up to date editor17:26
And the easiest nonpersistent way to do this is probably env, as it doesn't require seperately creating and editing files.17:26
psilo2_ left17:27
ForsakenSoul well I might have one all the time17:27
and just update it17:27
:D17:27
well at least one for every project17:27
:D17:27
Eridius|work joined17:28
ToxicFrog I would find that terribly inconvenient, but if it works for you, go for it17:28
gmcinnes joined17:28
schacon_ joined17:29
ekidd left17:32
lea_w left17:32
edwardog joined17:32
edwardog Using git-svn, how do I create new remote tags or branches?17:33
acm left17:34
schacon_ left17:35
jaf left17:35
ekidd joined17:36
Eridius|work edwardog: git push remote localbranch:remotebranch will create a new remote branch17:37
as for tags, try passing --tags17:37
dbhumphreys joined17:38
dbhumphreys so, i've got a clueless newbie question.17:38
Thumper_ Eridius|work: in git-svn ? I didn't think there was a way to do that...17:38
dbhumphreys i clone a repository from machine a to machine b. works! ... i push the changes from b back to a. i go back to a.17:39
Eridius|work oh, missed the -svn part17:39
dbhumphreys how do i merge the change from b?17:39
ToxicFrog dbhumphreys: let me guess - the repo on a isn't bare17:39
Eridius|work dbhumphreys: if your working tree is unmodified, a simple `git reset --hard HEAD` will work17:39
dbhumphreys that's probably the case, since i'm not sure what you're talking about.17:39
edwardog Eridius|work: yeah, it’s a little funky. I get errors like17:39
fatal: 'svn': unable to chdir or not a git archive17:39
fatal: The remote end hung up unexpectedly17:39
ToxicFrog I *think* "git reset --hard <commit>", where <commit> is probably HEAD, will do it17:39
But in general pushing to non-bare repos is discouraged17:40
dbhumphreys okay.17:40
edwardog (Checking .git/config, I see that git-svn has named 'origin' as 'svn')17:40
ToxicFrog dbhumphreys: a bare repo, as it says in the tutorial, is one with no working tree - only the repo itself17:40
dbhumphreys so, the right way to do that is ...?17:40
edwardog Eridius|work: good instinct though17:40
ToxicFrog you can pull from and push to it, but can't work directly in it17:40
dbhumphreys okay.17:40
Eridius|work edwardog: to create branches and tags, the easiest thing is to use svn directly using URLs as the arguments17:40
ToxicFrog You can create one with git --bare init, and clone to a bare repo with git clone --bare17:40
dbhumphreys so, make a repository on machine a. pull from that repository on machines a and b?17:41
ToxicFrog Yes.17:41
Eridius|work if you really want to do it within git-svn, you can *try* creating git remote-tracking branches that correspond to the git-svn tags/branches format, but I have no idea if git-svn will actually obey them17:41
dbhumphreys then i can push from both.17:41
edwardog Eridius|work: yeah, that’s what I was thinking. I guess the git bridging thing only takes you so far17:41
ToxicFrog You can do it without a bare repo, but in that case it's much preferred to do pull-only - ie, b pulls from a, a pulls from b17:41
christastrophe joined17:41
dbhumphreys hm. okay.17:41
rubydiamondlol17:41
edwardog Eridius|work: ah, yeah, that’s a good idea17:42
cool, thaks17:42
ToxicFrog Since if b pulls from a, and then pushes to a, and then you want to work in a, which has a working copy, things can get messy fast, especially if you have uncomitted or unmerged changes in a17:42
dbhumphreys right. okay.17:42
thanks!17:42
christastrophe does gitosis have its own IRC channel for asking quesions?17:42
ToxicFrog The other common idiom for this is that a has an "incoming" branch17:42
Eridius|work edwardog: honestly, even when using svn I like to create branches/tags using URLs (since I generally don't have the root of the repo checked out)17:42
DrNick joined17:43
ToxicFrog so you pull from a to b, edit some stuff in b, and then push to a incoming rather than a master.17:43
And then next time you're on a, you merge from incoming into master.17:43
dbhumphreys tricky.17:43
okay.17:43
ToxicFrog Not usually.17:43
kanru joined17:43
sverrej left17:44
shoe joined17:44
ToxicFrog But the underlying thing here is that pushing to a branch that corresponds to a working copy is more trouble than it's worth most of the time - you either push to a bare repo, or you push to a not-currently-checked-out branch on a normal repo and then merge.17:44
edwardog Eridius|work: to do that with a url, do I just do a svn co https://svn.whatever.com/my_project/branches/my_new_branch ?17:44
dbhumphreys "bare repo." ... nothing in there? or just nobody working inside of it?17:45
Eridius|work edwardogyeah17:45
samgranieri joined17:45
edwardog Eridius|work: sweet. Thanks17:45
ToxicFrog The latter, sort of.17:45
Eridius|work if you want to save on typing you can do svn co https://svn.whatever.com/my_project/{trunk,branches/new_branch}17:45
bash syntax ftw!17:45
ToxicFrog Like I said earlier, a bare repo is one with no working copy17:45
dbhumphreys cool.17:45
mvanholstyn joined17:46
ToxicFrog Normally, for a git repo foo, the working copy is in foo/ and the git files are in foo/.git/17:46
For a bare repo, the git files are in foo/ and there's no working copy.17:46
edwardog Eridius|work: whu? What do the braces do there?17:46
ToxicFrog edwardog: argument expansion.17:46
dbhumphreys okay. that was helpful -- thanks!17:47
Eridius|work edwardog: in bash syntax, the braces expand into multiple args17:47
ToxicFrog foo/{bar,baz} turns into foo/bar foo/baz17:47
Eridius|work yeah17:47
larsl left17:47
ToxicFrog v. useful17:47
Eridius|work foo{,bar} becomes foo foobar17:47
edwardog when you tab-complete?17:47
Eridius|work you can even nest17:47
edwardog: no, when you hit return17:47
foo{bar,baz,blah/{one,two}} becomes foobar foobaz fooblah/one fooblah/two17:47
_graham_ joined17:47
cedricv left17:47
ToxicFrog edwardog: test it with echo, if you like17:47
bkelly@b-kelly:~/devel/tools/performance/cpu_mon$ echo foo{bar,baz,blah/{one,two}}17:48
foobar foobaz fooblah/one fooblah/two17:48
Eridius|work it's incredibly useful17:48
edwardog umm... ok, so this thing is doing some sort of zip? I’m going to echo stuff and try to figure out why this is useful17:48
Eridius|work it saves typing17:48
for example, in the URL, it meant the root of the project only had to be typed once17:49
https://svn.whatever.com/my_project/{trunk,branches/newbranch}17:49
ToxicFrog Rather than having to type out "https://svn.whatever.com/my_project/trunk https://svn.whatever.com/my_project/branches/newbranch" in its entirety.17:49
edwardog oh!17:49
ok17:49
sorry, my eyes were slipping or something17:50
I thought I saw an extra slash in there17:50
advany joined17:50
ToxicFrog There's no magic occuring here, this is just a useful shell construct.17:50
edwardog Yeah, that makes sense17:50
so it copies the string before it17:50
gotcha17:50
Thanks!17:50
charon joined17:52
lolrubydiamond17:52
z1o left17:52
glauber_glommer17:52
Catfish left17:57
EiNZTEiN left17:59
p4tux joined18:00
eikonos joined18:02
zachinglis joined18:03
felipec joined18:05
koke left18:06
koke joined18:06
Overshard left18:06
koke left18:07
Gitzilla left18:09
deavid left18:10
lea_w joined18:17
priidu left18:18
manveru left18:21
threeve joined18:22
jettero is there a way to combine git remote git+ssh://host/dir/dir with git config branch.master.merge refs/heads/master so my push pull work?18:24
or is it just two commands?18:24
edwardog left18:26
zachinglis left18:27
warthog9 left18:27
DeFirence why does git say theres still merge conflicts in file x if ive fixed them?18:28
Eridius|work you have to git add the file18:28
the index still has it marked as unmerged18:28
DeFirence im using git gui18:28
on windows18:28
:p18:28
tahooie joined18:29
DeFirence when i try commit a file that ive fixed conflicts in18:29
it says file x still has conflicts18:29
erikveen joined18:29
Eridius|work can't help you with windows, sorry18:30
doener DeFirence: should boil down to the same though. The "unstaged changes" window should still list your file. Stage it18:31
rubydiamond left18:32
DeFirence hmm18:32
im trying18:32
but it gives a merging error18:32
tahooie My project compiles an executable. I'd like the executable to be in the git repository so that people who check out the repository will have it, but I would like git to -NOT- keep a revision history of it because of size issues. Can I do this?18:33
doener no18:34
tahooie ok. thanks18:34
mvanholstyn left18:34
DeFirence if i use git bash18:34
i can git add file18:34
but in the gui i cant18:34
$ git merge ?18:35
You are in the middle of a conflicted merge.18:35
doener Hm, no clue then, I don't use git gui18:35
DeFirence ive never done merges before18:35
uhm18:35
erikveen left18:35
DeFirence what would i do next if i was using command line git?18:35
Eridius|work DeFirence: so in git gui you can't just stage the file?18:36
gmcinnes left18:36
DeFirence oh wait18:36
i can now18:36
Eridius|work tahooie: in theory you could wrap git with commands that re-write the latest commit to remove the binary when creating a new commit ;)18:36
DeFirence odd...18:36
Eridius|work but that would really fuck with people doing a pull18:37
tahooie Eridius|work, sounds like way more hassle then I'd like to deal with18:37
ToxicFrog DeFirence: with command line, typically you either merge manually or use git mergetool, then git add it all, then git commit18:38
resolve the conflicts in the merge, rather18:38
DeFirence ok18:38
angasule_angasule18:38
jettero is there a way to hook some extra things to do before a 'git status'?18:39
kelvie_ left18:41
tahooie left18:42
queso joined18:42
mvanholstyn joined18:42
janm joined18:42
com4 joined18:43
com4 is there a problem using git over a samba share?18:43
gmcinnes joined18:44
kelvie_ joined18:44
dbhumphreys left18:44
mediogre left18:44
drizzd Probably. You'll want the new case insensitivity features, at least.18:44
mvanholstyn left18:45
com4 drizzd: how about just on ntfs filesystems?18:46
koke joined18:46
drizzd well, I'd think that's slow as hell. But I guess you'll just have to try.18:47
com4 i don't care if it's slow :) i'm not the one insisting on using windows18:47
lcapitulino left18:48
warthog9 joined18:48
d2dchat joined18:49
ToxicFrog com4: I've used it on ntfs under windows, with no problems in either functionality or performance. I haven't tried it on ntfs under linux.18:49
drizzd com4: well, if you use windows then checkout msysgit. And to synchronize your repository to a fat/ntfs filesystem, you can just use git-push.18:49
ToxicFrog (this is cygwin git, btw)18:49
drizzd s/checkout/check out/18:49
oh18:49
ToxicFrog I haven't tried msysgit, so can't comment on it.18:49
drizzd I guess cygwin git makes sense, since there is no full GUI support for git you'll need some kind of console anyways.18:50
zachinglis joined18:50
ToxicFrog That's why msysgit comes with bash, presumably.18:53
jmalonzo left18:54
com4 awesome. thanks18:56
zachinglis left18:57
dirk1296 joined19:00
Eludias joined19:01
leachim6 left19:01
kanru left19:04
sgrimm left19:05
kanru joined19:08
drizzd oh it does?19:09
warlock_mza joined19:09
thiago_home joined19:11
redondos joined19:14
PerlJam left19:14
queso left19:15
Ramune left19:15
ToxicFrog drizzd: from conversations in here, yes - otherwise it would be largely unusable19:16
robin_ joined19:17
benstiglitz joined19:17
benstiglitz left19:17
krh left19:17
ToxicFrog The git GUI tools still being very immature, especially when compared to SVN, Perforce, etc.19:17
drizzd yeah, I just remember trying it a while a go. The part about the bash slipped my mind, but it's still unusable without proper integration with other development tools.19:18
capisce joined19:20
tflsh anyone know how i can do a git clone of a specific tag?19:20
e.g. to clone the v1.5.5.3 tag of the git srcc?19:21
Ilari tflsh: You can't do it with git-clone (it gets all branches and tags too). init+fetch+checkout would work...19:23
jettero I think git init a dir and then fetch ... what ilari said19:23
ToxicFrog drizzd: eh, I have no problem using it with no more integration other than nedit's shell menu19:23
(it being git in general, not msysgit in specific)19:23
redondos left19:23
tflsh hmm ok, git init; git fetch git://git.kernel.org/pub/scm/git/git.git ?19:23
Ilari tflsh: OTOH, just 1.5.5.3 would probably be around 99% of the size of full clone...19:24
redondos joined19:25
tflsh ok, well so i understand, what would the fetch step be?19:25
Ilari tflsh: 'git fetch <URL> v1.5.5.3:v1.5.5.3' (or something)...19:26
tflsh ah19:26
jettero there's also git remote add -t something -m something name url19:26
you can make it work just like a clone, but only for specific tags ...19:26
tflsh fatal: Couldn't find remote ref v1.5.5.319:27
hm19:27
that's from the git fetch19:27
mithro left19:29
strangy joined19:30
EiNZTEiN joined19:32
ruphy joined19:32
jettero git when you git config alias.test !ls ... what shell does it use?19:32
lcapitulino joined19:33
Ilari tflsh: Try 'git fetch <URL> refs/tags/v1.5.5.3:refs/tags/v1.5.5.3'19:33
ToxicFrog jettero: I don't know offhand, but I'd guess either $SHELL or the shell used by system()19:33
d0k left19:34
ceez joined19:35
tflsh Ilari: thanks,, i think this is working now19:36
Ilari: yep! thanks!19:39
samgranieri left19:39
gmcinnes left19:40
cedricv joined19:42
shaftyy joined19:42
nessundorma joined19:44
d2dchat left19:46
jmalonzo joined19:47
tflsh is there a way to remove a commit that was already push'ed to a remote rpository?19:50
Mikachu 3219 pts/30 S+ 0:00 | | \_ git fla19:51
3220 pts/30 S+ 0:00 | | \_ sh -c cat;sleep 6019:51
when i made the alias just cat, cat was a direct child of git19:51
thiago_home tflsh: yes, but you shouldn't do it.19:51
tflsh: has anyone got that commit already?19:51
tflsh thiago_home: i dont really need to as this is just a test repo i'm playing with, but i'm interested19:51
thiago_home: nope, it's just me19:51
thiago_home remove the commit locally, then do a forceful push19:52
git push -f <remotename>19:52
tflsh ahh19:52
thanks!19:52
shaftyy_ joined19:53
zachinglis joined19:54
tflsh yeah, im sure that would be messy if people had already pulled that commit19:55
thiago_home you can also set up git to always force19:55
it's useful if you're pushing to your backup :-)19:55
Mikachu i wouldn't want force push by default on my backup :)19:56
Ilari Well, if it has reflogs forced... :-)19:57
jmalonzo_ joined19:58
janm left19:59
zachinglis left20:00
holizz left20:02
pasky are there any perl-based gitk-ish history browsers?20:09
jettero gitweb.cgi?20:10
oh, not really gitkish20:10
pasky that's not quite what I meant :)20:10
there's git-browser but it's more js-based than perl-based :)20:10
pasky is writing a specialized porcelain in perl and would like to embed some history browser there20:10
jmalonzo left20:11
shaftyy left20:12
aroben left20:13
jettero what is a porcelain?20:13
capisce a song by red hot chili peppers20:13
koke left20:13
aroben joined20:14
Ilari jettero: Refers to UI-grade interface to Git.20:15
jettero: As opposed to non-UI-grade stuff like rev-list, write-tree, update-index, commit-tree, update-ref, fetch-pack, etc...20:16
drizzd left20:17
loops left20:19
aroben left20:20
aroben joined20:20
dirk1296 left20:21
warlock_mza left20:24
Ademan joined20:24
sgrimm joined20:25
mattf left20:29
zachinglis joined20:30
kumbayo left20:31
GyrosGeier hmm20:32
does git-imap-send support SSL these days?20:32
MrJag joined20:33
zachinglis left20:35
afton left20:38
david_koontz joined20:38
Mikachu that's a weird date20:38
ToxicFrog ?20:38
Mikachu afton [n=chatzill@24.86.64.198] has quit ["ChatZilla 0.9.82.1 [Firefox 3.0b5/2008050509]"]20:38
ToxicFrog so it is.20:39
Ilari Maybe that last '09' is hour?20:39
zachinglis joined20:40
discomury joined20:43
jast very likely20:43
MrJag left20:47
agib joined20:48
_zack joined20:49
madewokherd joined20:50
gmcinnes joined20:51
datafirm joined20:52
datafirm Hello!20:52
jast hi20:52
datafirm I had a folder in .gitignore which I've removed. Git still want let me add that folder, so I have to use -f. Is there a way to refresh what this local repo sees in my modified .gitignore?20:53
jast .gitignore is always used as-is20:53
datafirm hmm20:54
jast perhaps you've got another pattern that matches the same dir20:55
datafirm **/.DS_Store20:55
that the only wild glob in there.20:55
if one added data/projects/* to git ignore, would it all addition of data and projects, but not the files within projects?20:56
that is my goal.20:56
jast i don't think '**' is a valid glob pattern20:56
aroben left20:56
datafirm jast: to recursively go into each dir for a file of that name ?20:57
jast that's a bashism, i believe20:57
ToxicFrog datafirm: I'm not sure what you mean by "projects, but not the files within projects"20:57
git doesn't track empty directories.20:57
datafirm I have folders with lots of app specific data that should not be stroed in the repo, but the folder structure should.20:58
I guess I'll leave it up to the app to create the folders if they dont exist then.20:58
jast well, put a .keep file in each of those dirs and add an ignore exception for it: !.keep20:58
nessundorma left20:59
ggeecko joined21:01
datafirm jast: never heard of .keep.. i'll have to take a look in the docs.21:01
jast it's got no special meaning21:02
GilbertErik joined21:02
datafirm jast: ahh just to allow it to grab them21:02
in the repo21:02
zachinglis left21:02
ToxicFrog Yeah21:02
so that it has a file in the dir, and thus versions it21:02
jast but you need at least one file inside a directory so git can track the directory, and .keep is a classic convention to indicate that an empty directory is actually needed for something21:02
datafirm ToxicFrog: good idea.. and that exclusion has to go in the directories .gitignore.. not the root?21:02
jast: great! thanks21:03
jast you can put the exclusion in the root .gitignore file21:03
patterns that contain no slashes are applied in all directories21:03
datafirm jast: Good to know, thanks21:03
jast: is the order important?21:06
wagle_home joined21:06
jast i don't know how that works with exclusions21:06
it may be21:06
lcapitulino left21:06
wagle_home left21:06
wagle_home joined21:07
ftehw Is there a simple method (maybe through branching) which will allow me to save uncomitted work temporarily while I work in another branch (e.g. need to fix a bug). I guess, something like a reset --hard, but which is later recoverable.21:07
ksvladimir left21:07
wagle_ left21:08
ToxicFrog ftehw: man git-stash21:08
It exists exactly for this purpose, and is tasty.21:09
schapht left21:09
wagle joined21:09
ftehw ToxicFrog: perfect! thanks.21:09
jast with just a hint of pepper21:09
shaftyy_ left21:09
Eridius|work it saves working tree *and* index21:09
shaftyy joined21:09
jast *and* the world21:10
ftehw i was gonna say, the index constitues stuff i've added but not yet committed right? So if it was just the tree and index then it'd miss some thing i wanted it to grab.21:10
jast so, you know, alias stash='mplayer eurythmics-i-saved-the-world-today.ogg </dev/null &; git stash'21:10
ftehw l0lz21:11
shaftyy left21:11
jast what's there to grab apart from the tree and the index?21:12
well, untracked files, but those are normally left alone when switching branches anyway21:12
ftehw so the stash interface is like a stack? stash; stash; stash; stash apply; stash apply; stash apply; works as you'd expect?21:12
jast no, apply always applies the topmost stash (but doesn't pop it)21:12
RandalSchwartz the stash is a guy thing, for people who fear commitment. :)21:12
if you want to do somethign complex, use real commits.21:13
Eridius|work ftehw: replace "apply" with "pop"21:13
ftehw jast: echo "foo" > foo; git add foo; git commit; echo "bar" >> foo --- the mod "bar" isn't in the index, is it?21:13
Eridius|work hey RandalSchwartz, what's it take to get a trivial documentation patch accepted?21:13
ToxicFrog RandalSchwartz: if you want nonworking commits lying all over the place, perhaps21:13
RandalSchwartz I've never made a trivial doc patch. :)21:13
jast yes, but it's in the tree, and that is stashed too21:13
RandalSchwartz who cares about nonworking commits?21:14
ToxicFrog ftehw: it's not in the index, but it's in the working copy, and stash will grab both21:14
RandalSchwartz commit means "made some edits, might want to come back to that"21:14
rubbish joined21:14
RandalSchwartz it doesn't mean "... and this works"21:14
jast Eridius|work, sneak it into a patch that introduces the pack v3 format ;)21:14
ftehw ToxicFrog: w00t.21:14
Eridius|work RandalSchwartz: I've sent http://marc.info/?l=git&m=120992103604463&w=2 twice, and had zero response. It's very annoying21:14
Eridius|work smacks jast21:14
RandalSchwartz send it to junio21:14
in the form of a patch :)21:14
Eridius|work I CC'd him in both21:14
and it *is* a patch21:15
jast without doubt21:15
Mikachu i wonder if filter-branch might consider children "ancestors" since it starts at branch tips and goes backwards? but maybe not21:16
i get a headache thinking about it :)21:16
jast no, it doesn't go backwards21:16
advanyzzzz21:16
Mikachu well, everything in git starts from children since only parent info is stored21:16
jast it couldn't, could it? modifying one commit means modifying all of its children21:16
Eridius|work now that I think about it, "children" might be better than "descendants", but both are better than "ancestors"21:16
jast therefore you need to start with the oldest commit in the branch21:17
Mikachu hm, that's true also21:17
Eridius|work it may follow tips back, but it starts rewriting at the parents21:17
ToxicFrog Eridius|work: I don't know, "children" and "ancestors" make it clear which way time is flowing21:17
Mikachu even if ancestors is correct, "children" is much less confusing21:17
zzzz left21:17
Eridius|work except ancestors is not correct21:17
if it behaved as documented, it would create a cycle21:17
jast it starts at the tip and works backwards to find the first commit, that's true21:17
ToxicFrog Er, descendants and ancestors21:17
jast but the actual filtering process works forwards in time21:17
ToxicFrog children/parents is a symbol collision with the graph structure itself21:18
Mikachu the whole sentence is very confusing21:18
Crema10 joined21:18
Eridius|work ToxicFrog: not really21:18
ToxicFrog At least for me21:18
Mikachu regardless of the number of ids you output, the original commits will not change at all21:18
only the newly written commits will be affected21:18
jast graph structure is what we're talking about here, anyway21:18
ForsakenSoul how can I make a branch of master?21:18
jast of course the original commits won't change. the branch will no longer point to them though.21:18
nud left21:18
RandalSchwartz git checkout -b newbranch master21:18
Crema10 left21:19
Mikachu doesn't it mean "the rewritten commit will have all of them as parents"?21:20
i don't see why changing the parents of a commit would change what parents its children has21:20
Eridius|work I suppose you're right21:21
deavid joined21:21
jast i just read the sentence in its context and i have to agree with that21:21
ftehw confirmed: git stash rocks my mom --hard.21:21
Mikachu i really don't understand what it does very well21:22
Eridius|work it saves the index into a new commit, and the working tree into another commit that has the index as parent. It points the stash ref at the working tree commit21:22
and any previous stashes get stored in the stash ref's reflog21:22
Mikachu sorry, i meant the git-filter-branch commit filter when you output more commit ids21:23
Eridius|work oh21:23
it lets you create merges, basically21:23
huh, git-svn seems intent on re-creating my 'master' branch21:24
Mikachu oh.. so it does affect the children of the original commit then :)21:24
jast no, it affects the rewritten commit21:24
the children are affected in the usual indirect way21:25
Mikachu but it takes one commit as input and outputs several commits21:25
metzemetze_away21:25
Eridius|work no21:25
the commit filter is basically just "call this tool instead of git-commit-tree"21:25
Mikachu but the sentence says specifically "may emit multiple commit ids"21:25
Eridius|work oh wait, I'm still reading it wrong21:26
ironfroggy left21:26
Eridius|work yes, the tool may emit multiple ids. gimme a sec to make sure i have this straight ;)21:26
jast i don't really see the purpose of that extension21:26
i just re-read it too21:26
Eridius|work I think it means the "rewritten children of the original commit will have all of them as parents"21:26
ForsakenSoul what was the command of merging two branches21:27
Mikachu "merge"21:27
ForsakenSoul one more thing ... the branch and the master should be in different dirs right ?21:27
jast how does that make sense, though? you don't even know which children you are monkey-patching into merge commits there.21:28
chris2 left21:28
ForsakenSoul :D ... two very stupid questions21:28
Eridius|work ForsakenSoul: no21:28
datafirm left21:28
jast ForsakenSoul, what do you mean by different dirs? git can handle any number of branches in one repo and you can switch back and forth rapidly using git checkout.21:28
ftehw yes! /cut !21:28
Eridius|work jast: well no, the tool won't know that, but presumably you as the invoker of git-filter-branch will know that21:28
jast but do i? i only have the contents of the current commit21:28
Eridius|work ya know what, someone needs to check the source for --commit-filter21:28
jast i don't exactly know what children i'll get21:29
yeah21:29
i was hoping to avoid that :)21:29
Eridius|work again, the tool won't know, but YOU the USER will know21:29
Eludias left21:29
felipec left21:29
Mikachu Eridius|work: it's a shell script, so it's impossible to see what it does :)21:29
Eridius|work haha21:29
Eridius|work takes a gander21:29
ToxicFrog ForsakenSoul: typically, one of the branches is checked out and you know the name of the other21:30
jettero if I mkdir -p /something/ and GIT_DIR=/something/ git init, what else do I have to do to it to be able to push files to it21:30
ToxicFrog ForsakenSoul: So if, say, you want to merge "master" into "feature":21:31
git checkout feature21:31
git merge master21:31
and you're done.21:31
jettero: in the other repo you want to push from, "git remote add <name> <path to /something>"21:32
ForsakenSoul ok so how do I delete a branch21:32
jast ForsakenSoul, check out the manpage for git-branch. it's useful. :)21:32
ToxicFrog ForsakenSoul: locally: git branch -d name, and more generally, man git-branch21:32
jast git-branch always operates locally21:33
ToxicFrog Remotely: git push <remote> :<branch>21:33
jast: yes, I mean, "if you want to delete a local branch"21:33
As opposed to "if you want to delete a branch in some other repo you can push to"21:33
jettero ToxicFrog: yeah, I did that ... but when I try to push it says No refs in common and none specified; doing nothing.21:33
jast right21:33
juanjoc left21:34
Mikachu jettero: so then you didn't get the idea to specify some refs?21:34
jast jettero, when you push for the first time you need to specify which branches to push (try 'master' or, if you like, '--all')21:34
ToxicFrog jettero: try "git push <name of remote> <name of branch>", eg, "git push origin master"21:34
ForsakenSoul ToxicFrog .. jast ... wow guys ... you're taking this way too much passionate :D21:34
Eridius|work Mikachu: ok, it's what I thought. If you emit 2 commit ids, any children get both commit ids21:34
Mikachu Eridius|work: as parents?21:34
Eridius|work basically, any time you map the original commit, you get both emitted ids back21:34
yes21:34
Mikachu ah21:34
jettero ToxicFrog: oic, thanks21:34
jast that's... yucky.21:34
Eridius|work this seems like esoteric functionality, but presumably someone wanted it21:34
jast perhaps your doc patch should note that it's probably not what the user wants :)21:35
Mikachu couldn't you do it with --parent-filter?21:35
datafirm joined21:35
Eridius|work Mikachu: but what if you're already doing other stuff with the commit filter? parent-filter won't know about that stuff21:35
ForsakenSoul but thank you guys21:35
Mikachu or hm, how much fun things can you do turning one commits into two and then the next one is a merge commit again? i don't really see the point :)21:36
jast you can always change the list of parents of the *current* commit within the commit filter21:36
datafirm have any of you seen any post-commit hooks that will send an HTML diff as email? I had something similar for SVN which I liked!21:36
Mikachu datafirm: if you have one for svn and one that generates plain diffs for git, presumably you should be able to combine them :)21:36
Eridius|work jast: sure, because you're creating the actual commit object, you can do whatever the hell you want21:37
datafirm Mikachu: Yeah, perhaps.. its all in perl and i've not wrote perl in 8+ years.. :-D21:37
With that said, is there a way to place files in the post commit for all new repos? Maybe a sym link?21:37
Mikachu datafirm: locally, /somewhere/git/templates/hooks/*21:38
git could be git-core too21:38
jast where /somewhere possibly means /usr/share21:38
Mikachu i think it depends on distro, /usr/share/git-core is a good first guess21:38
datafirm jast: in other words.. there is a place for these template git will look for :-D21:38
jast correct21:38
ToxicFrog locate '*git*/templates/' should find it21:39
jast you can even configure where git will look for the templates, i think21:39
hmm, apparently not via git config21:39
datafirm FreeBSD /usr/local/share/git-core/templates21:39
gmcinnes left21:40
LotR left21:43
pdherbemont joined21:43
pdherbemont_ left21:44
Eridius|work ok, patch sent21:45
drizzd joined21:46
hipertracker_ joined21:46
gmcinnes joined21:47
_zack left21:49
d2dchat_ joined21:53
mvanholstyn joined21:53
_zack joined21:53
FunkeeMonk joined21:54
vbabiy-laptop left21:54
pdherbemont_ joined21:54
d2dchat_ left21:55
d2dchat joined21:57
juanjoc joined21:59
gitte joined22:00
threeve left22:00
juanjoc left22:00
hipertracker left22:01
pdherbemont left22:02
mvanholstyn left22:07
spearce joined22:09
jmalonzo_ left22:10
david_koontz left22:12
ph^ left22:12
cedricv left22:12
EmilMedve left22:13
david_koontz joined22:13
ceez left22:15
jlh left22:18
jlh_ joined22:18
jlh_jlh22:18
charon left22:19
cedricv joined22:20
charon joined22:21
cedricv left22:21
d2dchat_ joined22:22
jlhjlh_22:23
jlh_jlh22:23
d2dchat left22:23
jamessharpe joined22:28
redondos_ joined22:29
d2dchat__ joined22:29
Michelangelo joined22:30
d2dchat__ left22:31
d2dchat__ joined22:31
cmarcelo left22:32
_zack left22:33
koke joined22:36
redondos left22:41
redondos_redondos22:41
VitaRara left22:41
d2dchat__ left22:43
capisce_ joined22:45
FunkeeMonk left22:47
ekidd left22:47
d2dchat_ left22:48
jbunster left22:48
radarek joined22:49
hipertracker_hipertracker22:51
EiNZTEiN left22:52
DrNick left22:52
DrNick joined22:52
manveru joined22:54
GilbertErik left22:54
josb left22:54
capisce left22:54
david_koontz left22:56
cannonball left23:01
Ryback_ left23:04
lea_w left23:04
agib Can anyone help me out? I was working on a branch "new_design" in my rails project and I decided it was time to use submodules for my rspec plugins... I switched to my master branch and deleted my rspec and rspec_on_rails directories... then I did a git submodule add and checked in the new additions... however now when I try to switch back to my new_design branch I get: "fatal: Untracked...23:05
...working tree file 'vendor/plugins/rspec/CHANGES' would be overwritten by merge." what's that about?23:05
koke left23:07
radarek left23:07
rubbish left23:09
gitte left23:09
koke joined23:09
strangy left23:09
SuttoL joined23:10
flaguy joined23:10
gmcinnes left23:14
thiago_home left23:14
pombreda joined23:15
Michelangelo left23:16
agib anyone?23:16
strangy joined23:16
koke left23:16
vmiklos that means a merge would create such a file but you already has an untracked file with the same name in your working directory23:16
joevandyk joined23:17
capisce joined23:18
agib vmiklos: hmm I don't know how that file got there...23:18
weird23:18
an untracked file... I just did a git submodule add git://github.com/dchelimsky/rspec-rails.git vendor/plugins/rspec_on_rails etc23:18
ckoehler left23:20
lea_w joined23:25
ekidd joined23:25
deavid left23:27
_graham_ left23:29
capisce_ left23:31
jpeeler left23:33
capisce_ joined23:33
mattf joined23:37
wagle_home left23:43
lea_w left23:45
wurble left23:46
tongueroo joined23:47
tongueroo how do you reset changes that are not in the index but keep the changes that are...23:47
brosner left23:48
capisce left23:48
Mikachu tongueroo: you want to make the working tree match the index, in other words?23:49
tongueroo yup23:49
:)23:49
Mikachu git checkout -- .23:49
tongueroo nice :)23:49
Mikachu not so easy to guess maybe :)23:49
tongueroo just what ive been looking for, faster than what ive been doing, git ci -m 'tmp to save index' && git co -f23:49
git reset HEAD^23:50
one step23:50
charon left23:51
igorgue joined23:53
gmcinnes joined23:54
gmcinnes left23:54
gmcinnes joined23:55
ekidd left23:58
ben_h joined23:58
p4tux left23:58

Logs Search ←Prev date Next date→ Channels Documentation