IRCloggy #git 2009-06-23

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.

2009-06-23

eseidelDesk left00:01
w|shimmy joined00:04
scarabx joined00:04
ctusar left00:08
jdavis_ joined00:10
demio left00:10
jdavis_ I removed a file from my repo. How do I see the last version that existed?00:10
Pieter git show --follow HEAD -- path/to/file or so00:11
julm left00:11
aspotashev|eeepc joined00:12
solydzajs left00:12
jdavis_ Pieter: I get no output from that.00:12
fynn joined00:12
Pieter hmm, it's something similar00:13
you can at least try git log --stat00:13
fynn What's the most reliable way to get all commits where a file called foo.py was updated/created/deleted?00:13
Pieter and then search for the filename00:13
:P00:13
gberdyshev left00:13
_Vi fynn, May be "git log -M -- /path/to/file" or something like?00:13
Ilari fynn: 'git log -- foo.py'.00:14
gberdyshev joined00:14
fynn _Vi, Ilari: thanks, but foo.py can be at any path00:14
that's the trick part of the question ;)00:14
jdavis_ Ok, I see the commit that removed it, what's the easiest way to get the actual file?00:14
Pieter git show sha:path/to/file00:14
fujin joined00:14
jdavis_ Pieter: hmm... says "not in the working tree"00:15
texel left00:16
_Vi fynn, You probably have either to traverse all commits.00:16
s/either//00:16
ereslibre left00:16
Pieter jdavis_: that doesn't make sense :)00:16
fynn _Vi: possibly I need to use log -S00:16
ereslibre joined00:16
wshimmy left00:16
_Vi fynn, It will show in which commit your string was added/removed. This string is not place for filename.00:17
fynn, Try "git log --summary" and grep for you filename.00:19
fynn, Or better "git log --stat".00:19
fynn _Vi: even better: --name-status00:20
grepping 'git log --name-status' has been my best result so far.00:20
_Vi fynn, --stat shows how much file was changed.00:21
archis joined00:22
fynn _Vi: yeah, but it's width-limited00:22
gberdyshevgberdyshev_00:22
wsc joined00:22
danielnewman joined00:22
jdavis_ It looks like I had to check it out, and then reset it to remove it from my WD.00:23
thanks.00:23
fynn so parts of the path can be cut off.00:23
alezandro left00:24
_Vi fynn, --stat=0 ?00:25
justin-george left00:26
fynn _Vi: thanks, but long paths still get cut off...00:28
Pistahh left00:32
whaley left00:33
Alinermedia left00:33
kssddy joined00:35
fynn seems like --name-status is the canonical way of doing it.00:36
sgrimm joined00:37
cpg|awaycpg00:39
altrux left00:42
altrux joined00:42
pflanze joined00:43
joshsdc joined00:43
pflanze Hm, I've created a fork on repo.or.cz, but already closed the window with the instructions; what exactly is the username for git+ssh?00:44
bobmcw_ joined00:44
cmarcelo left00:44
pflanze I've called the project picobit/chj, but obviously you can't give slashes in ssh user names, right?00:44
_Vi pflanze, It is the SSH username.00:44
pflanze and picobit or chj alone gives 'permission denied'00:45
_Vi pflanze, "bicobit/cgj" too?00:46
pflanze no, that gives ssh: picobit: Name or service not known00:47
sitaram joined00:48
jrmuizel_ joined00:48
jrmuizel left00:48
_Vi pflanze, How have you cloned you repository?00:48
pflanze hm. Project admins might only be for the http interface, and ssh users created separately,00:48
and then added to the project by means of the admin interface.00:49
ha.00:49
I guess I got it (and I went through that 4 times already, that makes me smaaaart)00:49
Fullmoon joined00:50
pflanze pasky should make "don't forget to assign yourself as a user as well if you want to push! Everyone who wants to push must register himself as a user first." bold face.00:51
Even if it's only for me.00:51
tonetheman joined00:52
agile joined00:52
hummingkid left00:52
tonetheman left00:54
ben_h joined00:56
justin-george joined01:01
ben_h left01:02
flazz joined01:04
sitaram hey guys; when I do "git log -M --name-status" I see renamed files prefixed with "R100". What does the 100 mean?01:05
aah, percentage similarity!01:06
(I think)01:06
yup01:07
sitaram talks to himself; this is a sign if advanced intelligence. (He hopes)01:07
sitaram of*01:08
Ian00 how can I see how many total commits i have in my repository?01:08
sitaram git log --oneline --all|wc -l maybe01:08
WALoeIII left01:09
bobmcw_ left01:09
Ilari IIRC 100% is special (only for rename without edit).01:11
smoofra damnit. stupid email client01:12
sitaram possibly. I wasnt even sure what it meant at first, so knowing that it is % is a step :)01:12
_Vi smoofra, line wrapping?01:12
smoofra it included all the headers from git-format-patch in the body01:13
sitaram left01:16
julm joined01:18
bc left01:21
dgfitch joined01:21
jerbear joined01:21
bc joined01:22
pflanze left01:22
jrmuizel_ left01:24
solydzajs joined01:28
ereslibre left01:29
jayallen left01:30
jayallen joined01:31
bcardarella joined01:32
tanuki joined01:32
maxb left01:32
tanuki Is there a generally accepted way to deploy Rails sites using git?01:32
I'm almost where I want to be, but I still have to log into the deployment server and force reset01:32
_Vi tanuki, Setup a hook that will do it automatically.01:33
panpainter left01:33
diegoviola why not just use apache and mod_rails?01:34
tanuki diegoviola: ?01:34
danielnewman left01:34
diegoviola tanuki: what do you mean deploying rails with git?01:35
tanuki diegoviola: using git-push to copy files from my workstation to my webhost01:35
diegoviola oh01:35
tanuki basically, the working copy on my repository on the server is the live site01:35
smoofra tanuki: i have some scripts you might like01:35
maxb joined01:36
FunkeeMonk joined01:36
diegoviola tanuki: i guess you could set up apache with mod_rails... then have a repo on your web root directory, and pull/push from that01:36
tanuki diegoviola: Right, and that's what I'm doing.01:36
diegoviola: The problem is, when I push, I still have to log into the web host and reset in order for the changes to show up01:36
smoofra tanuki: clone http://elder-gods.org/~larry/repos/bin and look in git-pushable-hooks01:37
diegoviola with mod_rack (or mod_rails) you wont need to restart the web server when you pull/push01:37
you will see your changes on the fly01:37
cedricv joined01:37
tanuki diegoviola: the web server isn't the problem01:37
diegoviola: the problem is that git doesn't auto-update the working copy on the other end01:37
smoofra: Thanks, I'll check that out01:37
smoofra tanuki: you'll have to transplant them out of my motley collection of scripts, but i think they bascially do what you want01:38
tanuki I'm confused: does the pre-receive hook on the *pushing* repo run on the *receiving* repo, or does the receiving repo use its own copy?01:39
smoofra both hooks go into the receiving repo01:40
tanuki s/pre/post/01:40
smoofra they will prevent you from pushing if the receiving repo has any uncommited changes01:40
and if you are able to push, they'll update the index and the working tree after you push01:40
bcardarella left01:41
tomoj tanuki: capistrano :)01:42
gberdyshev_ left01:43
sebleier|awaysebleier01:43
georgyberdyshev joined01:43
georgyberdyshevgberdyshev_01:43
archis left01:44
tomoj e.g. say you push some commits with migrations. now your live site is broken until you ssh in and run the migrations. with capistrano you can just do 'cap deploy:migrations' and it will fetch the latest commits and run the migrations. though with capistrano deploying new code takes two steps, since you have to cap deploy after every git push01:44
smoofra oh thats pretty cool01:45
djanowski joined01:45
tanuki tomoj: ... point well made.01:46
tomoj and it's crazy extensible so you can pretty much do anything with it01:46
djanowski hey all. i just committed something, but i'd like that commit to go to a new branch. any way to amend that?01:46
altrux left01:46
Ilari djanowski: 'git branch newbranchname', 'git reset --merge HEAD^'?01:46
smoofra djanowski: git checkout -b newbranch01:46
djanowski: git checkout oldbranch01:47
djanowski: git reset --hard HEAD^01:47
tbf left01:47
djanowski Ilari: awesome, thanks :)01:48
Ilari djanowski: I assumed you have git version new enough for 'reset --merge'....01:49
tomoj Ilari: why --merge in that case?01:49
djanowski Ilari: yeah i'm pretty up to date, thanks01:49
smoofra yea i don't think --merge does what he wants01:50
Ilari tomoj: Likely gets the working tree change effect without the destructivity of --hard...01:50
tomoj what will --hard destroy in a brand new branch?01:50
oh, anything that got carried over,huh01:51
Ilari tomoj: Uncommitted changes?01:51
ericindc joined01:51
tomoj I had never seen --merge before, that's pretty cool01:51
smoofra "git branch newbranchnaem" makes the new branch, "git reset --hard HEAD^" puts the current branch back to where it was before you commit01:51
ericindc left01:51
joshsdc left01:52
jrmuizel joined01:53
fynn tomoj: the funny thing is, remember the problem we solved for that guy yesterday?01:53
the "merge just 3 commits" problem?01:53
tomoj fynn: yeah, with rebase reordering -> fast-forward?01:54
fynn tomoj: yeah exactly01:54
when I thought about it later, I said "there must be something like --merge for reset" :D01:54
tomoj but wouldn't that drag along all the other stuff he didn't want?01:55
fynn yeah, in this case possibly he actually prefers --hard to --merge01:55
Ilari AFAIK, if you don't have any uncommitted changes, the end result of reset --hard and reset --merge is the same.01:56
fynn yup, I think so too.01:56
ben_h joined01:56
tomoj but doesn't --merge leave you without the commit you reset to? or am I reading it wrong?01:57
johndoigiii joined01:57
ianmcorvidae|alt joined01:57
johndoigiii aghhh, I checked out into a branch called "--track" how in the hell can I delete the branch without git-branch thinking its a flag and not <branchname>?01:58
tomoj oh, I guess it gives you the commit but the difference is it leaves your uncommitted changes on top of that..01:58
shaunalynn left01:58
fynn johndoigiii: git branch -D -- --track01:58
spaceonline joined01:58
johndoigiii awesome, thanks!01:58
fynn welcome.01:58
johndoigiii is that a common question?01:59
fynn no ;)01:59
ben_h_ joined01:59
johndoigiii ahh good then :) I feel less dumb now01:59
Ilari Wonder if those issues with illegal branch names have been resolved (like inability to rename them to something legal).01:59
kukks left01:59
jayallenjayallen-afk02:00
tomoj hehe.. I just made a branch named (no branch)02:01
Ilari tomoj: Spaces aren't legal in refnames. Unless that is that infamous U+00A0.02:02
johndoigiii ha what happens if you name it "*" then try to `-D *`02:02
tomoj illegal indeed, but if you go in and manually create the ref, it appears to work02:02
that would be a fun way to confuse someone02:03
Ilari johndoigiii: '*' is not valid branch names. You would need to manually create it.02:03
johndoigiii ahh okay02:03
djanowski left02:03
tomoj they think they have a detached head and then switch out, but it mysteriously stays in the branch list02:03
Ilari tomoj: Most probably breaks stuff as well.02:03
johndoigiii: And not even update-ref can create it. Manually means editing the repository files directly.02:04
ben_h left02:05
johndoigiii ohh okay02:05
Ilari tomoj: That refname can really confuse parsing code if some place uses space-delimited refnames.02:05
Chillance left02:05
johndoigiii Ilari: awesome information to know02:05
tomoj I got rid of it :)02:05
johndoigiii I should start hanging out in here more often :)02:06
Ilari "(no branch)" (with that U+00A0) IS valid branch name (checked with check-ref-format).02:07
fynn Ilari: have you worked with Bazaar or Mercurial at all?02:08
Ilari fynn: No.02:08
dasil003 joined02:08
fynn Just wondering how they compare to git. Some of the stuff I've seen lately is so fancy.02:08
aziz left02:08
tomoj I looked at them a couple days ago, and read that they don't have indexes, and stopped reading about them02:08
Bass2 left02:09
julm left02:09
fynn hehe. Mercurial does have an index, although it's some extension or something.02:10
dasil003 I have an interesting scenario... Suppose you have a master branch representing mainline development, and a shared branch, we'll call it `staging` that represents a collection of topic branches from various developers02:10
The purpose of staging is for deploying topic branches to a staging server for testing02:10
Sometimes we deploy topic branches directly02:10
but sometimes multiple developers need to stage things at the same time02:10
in which case we merge down to 'staging' first02:10
metrix joined02:11
ben_h_ben_h02:11
dasil003 we have a policy that staging never gets merged back up to anything, because no one has the whole story about all the topics contained there... each user is responsible for their own topic02:11
the question is...02:11
when the topics are complete, or we have a conflict and we need to reset the staging branch back to master state02:11
what is the best way to do that?02:11
Ilari Experimenting with "(no branch)", current branch display says (unknown)...02:11
tomoj Ilari: with spaces? it worked for me on 1.6.3.302:12
mugwump dasil003, your question seems strange because the answer seems so simple, yet the question shows a lot of knowledge about git02:12
cpgcpg|biab02:12
fynn dasil003: reset...?02:12
dasil003 heh02:12
mugwump I mean, superficially, git reset --hard origin/master / git push -f etc02:12
fynn yeah, it's funny.02:12
mugwump but is that all you're asking?02:13
Ilari Yeah, oops.02:13
fynn mugwump: maybe he's an easy guy to please?02:13
dasil003 well, what happens to the downstream devs when I push a hard reset like that?02:13
ianmcorvidae left02:13
mugwump they need to be aware of it02:13
ie, they need to not try to merge 'staging' into their topics or master02:13
which you already said :)02:13
fynn dasil003: and there's not much to do about it either way; either you reset staging, or you don't02:13
mugwump 'pu02:13
' is developed like this02:14
dasil003 well, when they `checkout staging` and then `git pull` what happens?02:14
fynn pu?02:14
Ilari Heh, trying to push it: -> [remote failure]02:14
mugwump pu = proposed updates, a branch of git.git02:14
Ilari (remote failed to report status)02:14
mugwump dasil003: if they have an old staging branch, they need to delete it first02:14
ctusar joined02:15
mugwump eg git branch -D staging; git checkout -b staging origin/staging02:15
spaceonline left02:15
mugwump otherwise madness will ensue as you're trying to merge the latest random combination of branches with the last one02:15
dasil003 so presumably there will be some history error "unknown ancestor" or something02:15
solydzajs left02:15
mugwump no, it will just go ahead and merge it02:15
which will either be a big confusing merge conflict ... or silently leave you with EVIL history :->02:16
dasil003 that's what I was worried about02:16
Ilari Invalid branchnames can not be fetched from, and can't be pushed without having symref point to them and remapping the name.02:17
dasil003 that's why I was thinking what if I did a diff and just applied a patch that brought staging back in sync with master?02:17
mugwump not a good plan really, resetting is much better02:17
so here's what they should do:02:18
Ilari Or actually, having symref inside refs should allow fetching them...02:18
mugwump git checkout staging; git fetch; git reset --hard origin/master; git merge mytopic1; git merge mytopic202:18
so that staging always gets re-written; it's what you described as how you work02:19
sekimura_ left02:19
mugwump does that make sense?02:19
dasil003 yeah, we're sort of feeling it out as we go because we just added 3 devs and the history is getting kind of unmaintainable with too many "mainline" branches02:19
Ilari tomoj: For causing confusion, "(no branch)" would be even better than the invalid "(no branch)".02:19
tomoj Ilari: the first one is with the unicode character?02:20
Ilari tomoj: Yes.02:20
dasil003 what you said makes sense02:20
metrix We are using Subversion for 3 development teams at work and use branches for development and Trunk for our stable release where Team leaders were the only ones with commit access to trunk. This has was working great up to the point we realised SVN branch/merging didnt work if you tried to branch a branch. How would I do something similar with GIT?02:20
Ilari tomoj: Its not even hard to type. ALT+SPACE here.02:20
dasil003 I guess I was secretly hoping that there would be a way to at least consistently raise an error rather than ending up with messed up history02:21
that scares me a little02:21
cytrinox_ joined02:21
dasil003 wrt debugging issues remotely for junior devs ;)02:21
we're spread all over the world02:21
hard enough to sync up temporally02:21
but as long as everyone is aware of the issue it should be a problem02:21
_grepper left02:22
Ilari metrix: If whatever authentication you use exports user identity (standard multi-user setup does, shared account and gitosis doesn't without some hacking), hooks can be used to veto branch updates on branch-by-branch basis.02:22
metrix: Gitosis requires one-line change for that.02:23
metrix I see02:24
I will read more about it02:24
Thank you!02:24
cream_o_wheat joined02:24
cytrinox left02:24
mugwump what didn't work about branching branches in svn, out of curiosity?02:25
Sho_ joined02:25
xckpd7 left02:25
dreiss left02:25
cpg|biabcpg02:26
Ilari metrix: And since repos aren't that expensive, there could be seperate repo with just the master branch, other branches being in seperate repo. Then one can control access on repo, which is easier.02:26
metrix We would create a branch on a big project, test half way through and wait for paperwork to get done/QA to finish.. In the meantime we would create a branch off of that branch and continue developing. We would merge the first branch with no problems but when the second branch gets merged there would be conflicts with all the changes from the first branch. if you created files etc.02:27
bcardarella joined02:28
aspotashev|eeepc left02:28
metrix Maybe I was using SVN in the wrong way... But it seems it just seems that merging branches like that should just work.02:29
mugwump merging the second branch into trunk would fail?02:30
that actually surprises me, because I would have expected that to work, too02:30
smoofra merging anything into anything fails in svn02:30
drizzd_ joined02:34
dantrell left02:34
Ilari metrix: In git, it would even be possible to tag/branch the branch to merge to mainline and keep the name of development branch. Only affects commit message in merge.02:34
metrix cool02:35
This is what we should have used in the first place02:35
kennethlove left02:35
mugwump it's a hurdle to learn it all really. be sure to read the sections of the user manual on the underlying design02:36
metrix will do02:36
mugwump also there's a good tutorial called 'understanding git conceptually' which tries to go through it02:36
once you see how it all fits together and can poke at it with 'git cat-file' etc, you go through a phase of wondering how something simple could possibly work at all, then understanding usually follows after that :)02:37
Ilari metrix: The problem with using commit IDs directly is that while erge would happily merge one, one can't fetch/pull by commit ID.02:37
*merge02:37
jrmuizel left02:37
stephenjudkins left02:38
hax0r1337 joined02:39
metrix what would you suggest to use? the two requirements I have: 1. developers can somehow update each others branches and 2. some sort of restriction so only team leaders can merge to trunk02:40
boto_ joined02:40
mugwump My feeling is that if you're used to using access controls for trunk, carry that over to using git02:41
qrush left02:41
Ilari metrix: Two repos, one for developer branches and one for team leaders. Developers and team leaders can read both and write the developer repo. Team leaders can also write to repo with the master branch.02:41
mugwump Sure, most people and systems will access control the entire repository as a single unit, but you can do whatever you like in an update hook02:41
metrix cool02:42
Ilari I will setup a test system and try it that way02:42
Ilari metrix: Except that two-repo setup can't be done without an ACL system (gitosis or POSIX ACLs).02:42
bcardarella left02:42
Ilari metrix: At least if you want to restict readabilty of that repo with master.02:43
metrix: Or it can if team leaders use shared account...02:44
metrix I see02:45
Ilari metrix: Shared account doesn't mean "shared password". You can authorize multiple keypairs to authenticate to same user account.02:45
(actually, it would be possible to alias user accounts, and each alias has independent password).02:46
jerbear left02:46
smoofra why not just make a unix group for it? or use filesystem acls?02:46
FlyingSquirrel31 left02:48
metrix that's not a bad idea02:48
jony joined02:48
metrix it looks like I have quite a bit of reading to do02:49
Thank you for all the help02:49
eno_ joined02:49
bcardarella joined02:50
Ilari metrix: git has policy of dumping authentication problems elsewhere (filesystem permissions, sshd, etc...)02:50
amerine_ joined02:50
abdelhalim joined02:50
Ilari metrix: Also authorization problems.02:51
tjafk2 joined02:53
drizzd left02:53
tanuki left02:53
julm joined02:54
jrmuizel joined02:55
offby1` joined02:56
offby1 left02:56
boto left02:56
offby1`offby102:57
jrmuizel left02:58
hax0r1337 does git reset --hard leaves any tmp or unnecessary files hidden in .git dirs that I can safely delete?02:58
sitaram joined02:59
mugwump hax0r1337: go read man git-prune02:59
Gitbot mugwump: the git-prune manpage can be found at http://git.or.cz/man/git-prune02:59
mugwump hax0r1337: also, man git-reflog02:59
Gitbot mugwump: the git-reflog manpage can be found at http://git.or.cz/man/git-reflog02:59
mugwump Gitbot: tell hax0r1337, not me!02:59
and git repack -A03:00
sitaram mugwump: gitbot has a problem when the nick has numbers in it03:00
mugwump assuming, of course, you accidentally committed content you want to purge completely03:00
hax0r1337 mugwump: thanks chief03:00
jrmuizel joined03:01
hax0r1337 mugwump: I merged something that resulted in lots of errors/conflicts03:01
mugwump oh, well, in that case, just leave it - git reset --hard clears that state03:01
eno left03:01
mw left03:02
mugwump the only 'merge in progress' state is in the index (see man git-read-tree) or .git/MERGE_HEAD03:02
Gitbot mugwump: the git-read-tree manpage can be found at http://git.or.cz/man/git-read-tree03:02
hax0r1337 mugwump: good to know, git wouldn't let me delete that branch or switch back to master, so I had to reset it03:02
hax0r1337 left03:06
tjafk1 left03:09
bugfux joined03:10
abdelhalim left03:10
porcnick left03:11
jony left03:11
dreiss joined03:11
Casan left03:13
jony joined03:13
bugfux left03:13
jayallen-afkjayallen03:15
ben_h left03:16
MetaCosm joined03:16
abdelhalim joined03:18
amerine_ left03:18
joshsdc joined03:19
Fullmoon left03:23
dodo_the_last left03:24
mugwump_ joined03:24
eno_eno03:26
makeworkeasy joined03:26
jony left03:26
mw joined03:26
jrmuizel left03:28
mugwump left03:31
mw left03:31
madewokherd left03:32
mw joined03:33
MetaCosm_ joined03:35
joshsdc_ joined03:36
joshsdc left03:37
joshsdc_joshsdc03:37
reprore joined03:39
mturner joined03:40
MetaCosm left03:41
mturner left03:42
Ori_B joined03:43
Ori_B Hi.03:43
I'm having a bit of trouble with git-daemon03:43
joshsdc left03:44
joshsdc joined03:44
Ilari Ori_B: What kind of trouble? Anything in server logs?03:45
Ori_B well, I'm trying manually to start it from the command line, and;03:45
fatal: unable to allocate any listen sockets on host 208.78.101.172 port 941803:45
Ilari Ori_B: Likely you already have one running.03:46
smoofra Ori_B: to see what's got your port: netstat --ip -lpn03:46
Ori_B ...oh. it looks like git-daemon-run is competing with inetd... ugh.03:47
no wonder.03:47
ctusar left03:48
julm left03:48
john3909 left03:49
DrAk0 joined03:50
ghio joined03:51
Ori_B yeah, that was the issue.03:51
a broken inetd.conf (probably automatically generated by debian...) that conflicted with my setup.03:51
rettub_ left03:51
sebleiersebleier|away03:53
mw left03:53
Fissure wow, repo.or.cz is really really slow03:53
6 k/s03:54
rettub_ joined03:54
reprore left03:56
ccaputo joined03:58
ccaputo left03:58
ccaputo joined03:58
ccaputo left03:58
sea-gull joined03:58
john3909 joined03:59
ccaputo joined03:59
ccaputo left03:59
DrNick left03:59
julm joined04:01
hax0r1337 joined04:02
DrNick joined04:02
candybar joined04:03
AkumaStreak_ joined04:04
ankit9 joined04:04
mithro joined04:06
docgnome is there a way to list what repos git daemon is serving?04:07
wereHamster Fissure: does your tracepath to repo.or.cz go through level3?04:08
offby1 docgnome: if you're on the same box it's running on, I'd poke around in /proc04:08
mugwump_ /proc?04:09
mugwump_mugwump04:09
mugwump surely, just check the commandline git-daemon was started with, or /etc/inetd04:10
.conf04:10
ankit9 left04:12
memiux left04:12
ankit9 joined04:12
offby1 that too.04:12
In fact, checking the commandline is effectively the same as poking around in /proc (after all, that's all that "ps" does :-)04:12
julm left04:18
ankit9 left04:18
tazle__ joined04:18
brizly joined04:18
AkumaStreak left04:18
MetaCosm joined04:19
mturner joined04:19
klmann_ joined04:19
diegoviola left04:19
kadoban left04:19
gaveen left04:20
kadoban joined04:20
Tuomas joined04:20
abdelhalim hello all04:20
gaveen joined04:20
abdelhalim I have a question regarding git over HTTP04:21
anyone using that ??04:21
smoofra sure why not04:21
makies_botmakies04:21
smoofra it's a very easy way to make a public repo04:21
Derander_ joined04:21
MadCoder joined04:21
abdelhalim I saw that jgit implements also git with Amazon s304:22
cannot this be done using the regular git over HTTP ?04:22
what is the difference from git perspective ?04:22
joshsdc left04:23
smoofra i don't think s3 lets you create the url hierarchies that git needs04:23
MetaCosm_ left04:23
abdelhalim I'm not expert, I'm trying to understand both git and S3, but isn't the bucket is just a container that may contain hierarchy ?04:24
reprore joined04:25
smoofra hrm looks like you're right04:26
reprore left04:26
maxb left04:26
smoofra s3 lets you name a file foo/bar/baz04:26
abdelhalim and I see that s3 allows you to use HTTP POST/PUT requests04:27
Ilari abdelhalim: Regular git HTTP push requires WebDAV.04:27
smoofra yea you probably could just put a git repo up on s3 and people would be able to read it04:27
maxb joined04:28
abdelhalim Ok, that might be a start04:28
jim777 left04:28
abdelhalim so the difference is that git HTTP requires WebDAV04:28
and S3 doesn't support that ?04:28
smoofra Ilari: regualr git HTTP push exists?04:29
that's pretty nifty04:29
Derander_Derander04:30
resmo_ joined04:31
mturner left04:31
Ilari smoofra: It exists, but nope, it isn't nifty.04:33
smoofra oh?04:33
yann left04:34
yann joined04:34
paltman94 left04:37
ben_h joined04:37
smoofra don't most people just ssh for repos they want to push to? i've never bothered setting up anything else.04:38
axius joined04:38
Flathead_ joined04:39
jceb joined04:39
Flathead_Flathead04:41
candybar left04:42
dreiss left04:44
candybar joined04:44
mugwump git push over webdav is deferring all smarts to the client04:44
sunoano joined04:45
candybar left04:46
marc_kdab left04:46
candybar joined04:47
resmo left04:47
MetaCosm left04:51
ben_h left04:54
ben_h joined04:55
toxx__ joined04:55
memiux joined04:57
stephenjudkins joined04:57
hax0r1337 left04:58
julm joined04:58
smoofra ah i see04:58
you can't put any hooks on it04:58
because webdav has no way to execute them04:59
jonmasters left05:01
DavidKlein joined05:03
abdelhalim isn't this the same as S3 ?05:04
bugfux joined05:06
robinr joined05:07
boto_ left05:09
Voight-Kampff joined05:09
memiux left05:09
girishr joined05:11
toxx_ left05:11
toxx_ joined05:12
toxx___ left05:12
axius left05:14
Cromulent joined05:14
jonmasters joined05:14
julm left05:16
axius joined05:17
justin-george left05:21
Derander left05:21
bcardarella left05:22
cloudhead left05:22
jceb left05:24
candybar left05:26
roop joined05:26
flippo left05:27
fujin left05:27
candybar joined05:29
candybar left05:30
axius left05:31
cloudhead joined05:31
flazz left05:35
vshriram joined05:39
vshriram when i do a 'git branch -a' i see lots of origin/something listing. what are these?05:39
and why do we need those?05:40
mugwump those are 'remote tracking branches'05:40
vshriram what exactly is a remote tracking branch?05:40
and whats its purpose05:40
mugwump they are branches which track the state of the remote repository05:40
MetaCosm joined05:41
mugwump normally, the remote refs/heads/* are copied to refs/remotes/origin/*05:41
mstormo vshriram: Those are the branches which are updated when you do 'git fetch' and also when you do 'git pull', and then their content is merged into your local branch05:41
(basically speaking)05:41
vshriram okay - i have access to a git tree. I am sure that all branches reside in that git tree and yet i see those?05:41
mstormo well, you cloned that repo from somewhere, right?05:42
mugwump "all branches reside in that git tree" suggests to me you're expecting in-tree branching a la Perforce/SVN05:42
robinr left05:42
scientes joined05:43
vshriram yeah from the git server in our company05:44
thiago_home left05:46
marc_m joined05:47
WinterWeaver joined05:49
psankar joined05:50
vshriram left05:50
vshriram joined05:52
thiago joined05:52
Derander joined05:55
sitaram vshriram: since your local branches can get out of step from the "origin" due to your local commits, git keeps "track" (hence "tracking branches") of where the origin currently is. That is how, when you later do "git status" it can tell you stuff like "your branch is ahead of origin by 4 commits" or whatever05:56
vshriram is that the only reason why we have origin/xxx branches because they know where the origin is05:58
i thought when somebody said remote branch - it is somewhat connected to a different tree someone on the internet05:59
sitaram it just says "on this remote, called origin (whose URL you can see by running git remote show origin), the branch called XXX, is at this commit"05:59
rpag joined06:00
ilteris__ left06:02
krawek_ left06:02
fynn hm06:02
I made a stupid :(06:02
$ git push origin origin/master06:02
* [new branch] origin/master -> origin/master06:03
vshriram sitaram: are you saying that - origin/xx branches are needed just to keep track of where the origin of the present branch is?06:03
fynn how do I fix? :(06:03
sitaram vshriram: yes06:03
fynn I'm not sure what I even did there06:03
sitaram fynn: git push origin :origin/master06:03
fynn: but first "git ls-remote origin"06:03
to make sure06:03
fynn sitaram: hm, what am I looking for?06:04
vshriram what is the advantage of this - you always know where you started? say - last commit id of the branch when you created it06:04
fynn sitaram: I get a bnuch of hashes.06:04
sitaram fynn: you're looking for (a) a branch called master that is in good shape and has the right SHA for your *correct* origin/master,06:04
vshriram you tag it as baseline and start adding your stuff. isnt that the case06:04
sitaram fynn: (b) a new one called origin/master that has some SHA that you don't care about too much06:05
fynn: and if you see both, "kill the spare" :-)06:05
sitaram wonders if there are any Harry Potter fans here...06:05
sitaram vshriram: remote can move ahead due to other people's commits. You update your "notion" of where that is by "fetch" or "remote update"06:06
fynn sitaram: OK, there are 3 branches with the ID of my local HEAD:06:06
HEAD, refs/heads/master, and refs/remotes/origin/master06:06
sitaram then the push command I gave will work and undo what you did06:07
fynn could you perchance explain how it works :>06:07
cloudhead left06:07
sitaram fynn: sure, the push command syntax is "remotename localbranchname:remotebranchname". Now this is a little obscure but by leaving out the localbarnchname, you're saying "delete the remotebranchname"06:08
s/barnch/branch06:08
brizly left06:08
vshriram if remote has moved ahead (in the normal case - non origin branches) wont a git pull work?06:08
fynn sitaram: aha, this is a bit dangerousy06:08
vshriram probably all i need to do is to push the changes to the gitserver and update it by cloning it again06:09
sitaram vshriram: a git pull is a fetch+merge, no more and no less. Sometimes you DONT want a merge happening without the chance to look at what is coming in...06:09
fynn sitaram: thanks though, that definitely fixes the issue.06:09
sitaram vshriram: clone is only needed once. Why would you need to clone again?06:09
vshriram: push and pull as often as you please to keep things in sync, but if other people are also doing the same, you end up with more merge commits than real commits :-)06:10
fynn sitaram: one last question about push: is there a shortcut to push from whatever local branch I'm currently on?06:10
sitaram fynn: the latest git versions have a config var called "push.default" you may want to look at06:10
fynn vshriram: an alternative, if nobody is pulling from you, is to rebase06:10
sitaram fynn: otherwise, "git push origin HEAD" usually works06:10
fynn sitaram: yeah, I already have that configed actually :>06:11
what do you mean "usually"?06:11
sitaram fynn: just that I haven't used it too often. Don't let me scare you :-)06:11
I should have said "worked whenever I tried it" ;-) but I normally am explicit about my pushes06:12
fynn I couldn't possibly be more scared than what I am right now ;)06:12
btw, isn't there a more explicit option to delete a remote branch?06:12
sitaram fynn: not as far as I know06:12
fynn sitaram: weird... thanks!06:12
sitaram fynn: short of logging into the remote machine, cd to the repo, and "git branch -d ..."06:12
Predominant left06:13
sitaram fynn: that weird syntax is useful; kids don't know how to delete a remote branch :-) Security through obscurity!06:13
stephenjudkins left06:13
fynn sitaram: heheh06:14
sitaram fynn: but I believe there has been some debate about it, not sure what resulted. I haven't been able to spend as much time on the list lately as I would like to have... :-(06:15
scarabx left06:15
vshriram okay, i will slowly understanding this - one unrelated question - if i have a git tree on my server and one out on the web totally different, i can merge the differences between the remote git tree (on the web) and the git tree on my server06:15
candybar joined06:15
sitaram vshriram: what do you mean totally different? no common commits at all?06:15
vshriram yeah common commits exist, after that initial point - that remote tree is diverging06:16
that is commits are getting added to the remote tree06:17
sitaram well either way you can merge. though having a common ancestor helps :-)06:17
bugfux left06:17
sitaram if they have diverged too far, don't just "pull". Do a fetch, then a test merge into a temp branch that you can throw away if needed06:17
vshriram what do you mean by ancestor. suppose i do the following lets talk in terms of examples06:18
sitaram fynn: re "scared" -- 2 golden rules in git help me. (1) never fiddle inside ".git". (2) never attempt any push/pull/fetch/merge/rebase/reset on a dirty work tree06:18
hax0r1337 joined06:19
vshriram i have a linux-2.6.29 tree. I also have a android-2.6.29 tree (in google server). Now i checkout android-2.6.29 tree (from google server) and extract all the patches from it using git format-patch and apply them on my linux-2.6.2906:19
now google android 2.6.29 (google server) has changed. cant i merge it at a later date06:20
sitaram no06:20
the SHAs are all different, and git wont know which is which06:21
solofight joined06:21
vshriram so what do you suggest?06:21
sitaram why cant you merge the android-2.6.29 tree instead of extracting and applying?06:21
solofight when i do a git pull it says You are in the middle of a conflicted merge.06:21
ghio left06:21
solofight how can i resolve this ?06:21
please help06:21
sitaram solofight: git status will tell you which files are in conflict. Edit them, resolve the conflicts, "git add" them, "git commit" and then retry your pull06:22
kuadrosxx left06:22
fynn sitaram: surely 1 doesn't apply to .git/config06:23
sitaram fynn: agreed. Though even that I try doing with "git config ..."06:23
solofight sitaram: http://pastebin.com/m12dc9c3406:23
it says this06:24
sitaram solofight: look at line 2 of your paste06:24
galderz joined06:24
solofight how do i merge it ?06:24
sitaram solofight: do you know what a conflict is?06:24
solofight yeah i have an idea06:25
if they edit the same page same line06:25
conflict occurs right06:25
?06:25
multiple people i mean06:25
sitaram solofight: yes. Now do you know what a conflict looks like? (when you open such a conflicted file in a text editor)?06:25
solofight yeah >>>>>>>>>>> some text06:26
<<<<<<<<<<<<some text06:26
right ?06:26
sitaram solofight: yes06:27
solofight: except there's an ====== in between to separate the two sides06:27
solofight oh06:27
sitaram solofight: so you edit this file, fix up the final text as you like, remove the markers, and save. then "git add filename", commit06:28
solofight: you're essentially doing something manually because it could not be done automatically, that's all. Other than that this is just a normal merge06:29
vshriram sitaram: can i do <linux-2.6.29>+ my changes +<merge with android-2.6.29> ; where android-2.6.29 = linux-2.6.29+android changes06:30
i compared the commit ids - they are different06:30
saurabhverma joined06:32
Derander Hi. I'm trying to convert an svn repository (~/test/test) to a git repository (test_git_checkout) When I run the command I believe is appropriate, I get this error: http://gist.github.com/13439606:32
Fullmoon joined06:32
Derander The SVN repository is freshly svnadmin load'ed from a dump.06:32
sitaram vshriram: if I were you, I'd do it like this:06:32
solofight sitaram: thank you , will do and ask questions06:32
sitaram vshriram: (1) treat everything I get from outside as pristine in some sense. Keep them both updated in their own branches if needed, but make no changes to them locally06:33
vshriram: (2) create a merge branch for merging just your two remote sources since you seem to have two of them.06:33
vshriram: (3) keep all my changes in a separate branch, which -- assuming I haven't pushed to anyone -- I rebase off of whichever of the remotes is *older*06:34
vshriram: (4) create a throwaway integration branch for all the testing, where I merge whatever I want in whatever order and combination I want06:34
vshriram: make sense?06:34
cilly joined06:35
bobesponja left06:35
vshriram what do you mean by "keep them updated in thier own branches" ? and whichever of remotes is older?06:36
can you take an example please i dont really follow06:36
what i do here is 1) Take patches from ouside trees using git format patches and apply them on top of my changes06:37
these patches are whatever i want to say android changes i clone the git tree of android - create patches from that git tree which apply on top of my 2.6.29 kernel06:37
ankit9 joined06:39
MetaCosm_ joined06:39
mina86|awmina8606:41
vshriram sitaram: did i put you off?06:42
sorry06:42
sitaram vshriram: the problem is, I don't really know what the relationship is between linux and android trees? That is why I was a bit vague. Does the android tree track the linux tree faithfully? It seems like they are both out of step, and you need both of them in your work06:42
vshriram: no.. was away from keyboard :-) I dont get put off so easily; too old...!06:42
vshriram okay its is like this:06:43
sitaram so when I say "whichever is older", if you're not sure which then just choose one06:43
vshriram can we take this offline in case it is disturbing others06:43
sitaram vshriram: why should it? I want others to pitch in if they wish to; this is quite on-topic06:44
vshriram okay then06:44
sitaram not like we wandered off into vi versus emacs ;-)06:44
Derander oh dear.06:44
here we go06:44
vshriram android tree on google: <linux-2.6.29> + <android patches>06:44
sitaram but I do have to go for a meeting though; just remembered -- that is a dampener. I'll try and come back asap...06:44
vshriram okay np06:45
sitaram sorry vshriram (should plan better!)06:45
vshriram no problem sir06:45
lut4rp vshriram: just a passing thought, your company is working on Android?06:46
vshriram yes why?06:46
JasonWoof left06:48
vshriram okay i will be back later06:48
vshriram left06:48
hax0r1337 left06:49
Pe3k joined06:53
cilly left06:54
MetaCosm left06:56
solofight sitaram: i did the same and even now06:56
it says same06:56
alexyk joined06:57
Pe3k hello, by merging branches I have to merge in kdiff3 two files, each has on specific line different text, but I want to have there both (first after second) is it possible in kdiff3?06:57
ph^ joined06:57
tango_ left06:58
alexyk which port is used by git clone git:// ? I can get my own repos with git@github via ssh but not public ones with git://github -- which port needs opening??06:58
_rane left06:58
_rane joined06:58
bentob0x joined06:58
bugfux joined06:59
solofight thank you sitaram07:00
disjunctor left07:00
dermoth left07:00
disjunctor joined07:01
Cromulent left07:02
st__ joined07:02
johndoigiii left07:02
st__ left07:03
Pe3k ok, I found out how to do it ...07:03
vshriram joined07:03
vshriram i have clone a git tree from a repository available on the net - can i find out how it was constructured. what command were issued. whether it was rebased/merged during its construction?07:04
sitaram has to go away again but can't resist #git... :-)07:04
sitaram vshriram: not easy07:05
emias joined07:05
Fullmoon left07:05
sitaram vshriram: some hints can be in the commit messages, but it is the reflog that contains all those secrets. And a reflog does not travel :(07:05
vshriram: however, the idea is that if the SHAs are the same, this does not matter07:05
vshriram i tried reflog , but it gives very less info say 4/5 commits07:05
sitaram vshriram: a reflog is local, so it will only show you your stuff07:06
vshriram sitaram: i tried applying git am after formatting patches it gives me the same commit id07:06
as i do a merge07:06
sitaram vshriram: also, don't forget the "git cherry" commmand (not cherry pick) which can match commits where the actual change is the same but the SHA changed (due to author/committer change or maybe some whitespace or whatever)07:06
Grahack joined07:07
sitaram vshriram: if it gives you the same commit id then that's good; I had not expected that. I guess I need to learn something now :-)07:07
vshriram when you say sha is it commid07:08
ben_h left07:08
fynn left07:08
sitaram yes; that 40-digit thing07:08
lohrun joined07:08
sitaram has to go again; be back in 20-30 min, sorry again vshriram07:09
vshriram okay, if i want sources from different repositories located in different servers which have a common base, then i can do merges correct?07:10
okay no problem. i dont have much to do here - i better hang around and learn more07:10
agenteo left07:12
Cromulent joined07:13
julm joined07:16
abdelhalim left07:17
Juan_ joined07:18
vshriram left07:20
vshriram joined07:21
julm left07:22
Grahack left07:23
julm joined07:24
patrikf joined07:26
JasonWoof joined07:26
bentob0x left07:29
parasti joined07:30
jackylee joined07:30
khmarbaise joined07:30
ianmcorvidae|altianmcorvidae07:32
Stravy joined07:32
ceyusa joined07:33
Derander left07:34
bentob0x joined07:35
giallu joined07:35
dermoth joined07:37
Modius joined07:37
Weaselweb joined07:37
guitsaru left07:37
rpag left07:38
ianmcorvidae|alt joined07:39
ianmcorvidae left07:39
marc_mmarc_kdab07:40
wagle left07:41
johan-s left07:42
sitaram vshriram: yes you can07:44
warthog9 joined07:44
patrikf left07:46
Pe3k how can I get list of staged files?07:47
asksol joined07:47
harinath joined07:48
eddyp left07:48
ilteris__ joined07:48
khmarbaise_ joined07:49
tango_ joined07:49
AAA_awright_ joined07:50
sitaram git status07:50
rpag joined07:50
ciskje joined07:51
Blastur joined07:53
johan-s joined07:53
Blastur hey. i tried to revert a commit, but accidentially reverted too much (not commited yet though) .. how can I undo a git revert command? :)07:54
tbf joined07:55
jmesnil joined07:55
khmarbaise left07:56
asksol_ joined07:57
Grahack joined07:57
sitaram a revert creates a commit. what exactly is the command you used?08:00
lbt joined08:00
sunoano left08:00
solydzajs joined08:00
cytrinox joined08:01
shruggar joined08:05
asksol left08:05
AAA_awright left08:07
sgronblo Ok, I now noticed I'd like to revert a change in an old commit to a file. I found the sha1 for the commit in the log. How do I first checkout the patch for that commit to make sure it has only what I want and then reverse the patch on the file?08:07
shruggar you can "git log -p hash" to see the patch08:08
git log -p hash filename (I think) to see the patch for that file08:08
Cromulent left08:09
sgronblo Ok, I think I found the patch with git diff sha1 sha1^08:09
Blastur sitaram: i did git revert HEAD~2, but i realized it was "git revert HEAD^" i wanted to do .. so (in panic), i did "git reset --hard", and now im not sure what the state of my working copy is08:10
jackylee left08:10
sgronblo Now it would be nice to be able to reverse apply this commit's patch08:10
Blastur but i realized i wanted to do "git revert HEAD^" even*08:10
shruggar sgronblo: git revert sha1 ?08:11
sitaram Blastur: first -- dont panic!08:11
Blastur: is this windows? or do you have a GUI available?08:12
cytrinox1 joined08:12
shruggar Blastur "git reflog" sounds like what you need08:13
Fullmoon joined08:13
sitaram Blastur: git revert is not what you think it does on other systems; in git it adds a new commit08:13
shruggar: not necessarily; he "revert"ed which means he added a new commit on top08:13
Blastur sitaram: im on ubuntu, no gui08:13
makiesmakies_bot08:14
sitaram Blastur: no gui, ok don't worry. try this: git log --pretty=oneline --abbrev-commit -908:14
shruggar sitaram: but "git reflog" should be able to tell him where he was originally, so he can "git reset" to that08:14
alexyk left08:14
Blastur sitaram: i would basically just like to forget that the two last commits of http://pastebin.com/m5bdd2dc7 never happened08:14
sitaram shruggar: yes...08:15
Blastur or actually, all 308:15
julm left08:15
skyl joined08:15
shruggar git rebase -i HEAD~4 and delete what you don't want :)08:15
sitaram Blastur: is that all you have in reflog? if you want to forget all 3 you need one more below them08:15
cytrinox_ left08:15
sitaram shruggar++08:15
julm joined08:15
mnick left08:16
Blastur ok, in this case http://pastebin.com/m5c65684608:16
skyl can I put *.svn* in .gitignore and have anything that has a dir/sub_dir .svn ignored?08:16
Blastur i want to back to the latest "pull"08:16
shruggar skyl: just ".svn" should be enough, no need for asterisks08:16
AkumaStreak_ left08:16
bugfux left08:17
sgronblo Hmm, I did git revert commit with a dirty tree and I got some problems though I'm not sure it really was because of that.08:17
afief left08:17
skyl and that is good for anything in the path ig here/.svn/there/filename.ext08:17
sunoano joined08:18
Pistahh joined08:18
Blastur shruggar: what is rebase suppose to do? :)08:18
ankit9_ joined08:19
sitaram Blastur: git reset --hard 947148508:19
vshriram_ joined08:19
shruggar Blastur: rebase -i opens up an editor showing what amounts to a short log. You can move around lines, delete them, etc, and history will be rewritten to match what you have done. It is the most powerful weapon in the universe, and only you can stop the invading armies of the dead08:20
sitaram Blastur: rebase is for finer control over what you want to keep and not keep: http://sitaramc.github.com/other-stuff/gittalk.html#(61)08:20
cytrinox left08:21
sitaram (although that example could do with a written version of my voiceover; it's still understandable I think)08:21
shruggar: just read what you said... LOL!!!08:22
ignas joined08:22
cytrinox joined08:22
sitaram Blastur: he is not joking; it is powerful :-)08:22
osfameron sitaram: what tool do you use to make the slides?08:22
girishr left08:22
osfameron ah, Slidy08:23
sitaram osfameron: HTML slidy and plain text08:23
yup :-)08:23
shruggar sitaram, do you have mp3s with beeps? :)08:23
psoo joined08:23
sitaram shruggar: no mp3s at all. I meant "voiceover" in the literal, live, sense :-)08:23
shruggar ah08:23
osfameron occasionally thinks about using an html markup... but always goes back to OO Impress or similar08:23
Blastur sitaram: cool :) did not know git could do that!08:23
Grahack left08:23
Blastur now i have managed to restore order using the git reset command though08:23
sitaram Blastur: see shruggar's description above :)08:23
JasonWoof left08:24
shruggar you always need to worry about time zombies if you alter history :)08:24
Blastur new problem: when i push stuff to my colleague, it says "error: unable to create temporary sha1 filename ./objects/0c: File exists" .. even though the files in our "bare" repo is owned by a common group08:24
naeu joined08:25
sitaram you don't have +s on the group id of the directory08:25
Blastur oh, ok08:25
what does that mean? :)08:25
vshriram_ can i set how many lines reflog displays08:26
sitaram that's a pure unix thing (meaning not git). Without that flag, files get owner and group as per the user who created them08:26
jds left08:26
vshriram_ it displays only 12 lines for me. can it display the entire log08:27
shruggar Blastur, it's the "sticky" bit, it basically means (in directory context) "files in this directory inherit the group"08:27
sitaram Blastur: but with that flag (chmod -R g+s your.repo), unix makes the files group owned, regardless of who wrote them08:27
(and as usual shruggar has a better way of saying it ;-) I need to hire him as my ghostwriter or something...!)08:27
vshriram_: by default, it displays everything. So you only have 12 lines08:28
Blastur ok .. but shouldn't it work if i have setup my machine to always create new files in that group?08:28
shruggar I'll shut up now, I do _not_ want a reputation as someone who is /good/ at saying things. That would go against years of effort08:28
sitaram shruggar: LOL! you did it again :(08:28
Blastur: explain how you did what you just said...08:28
meaning what command08:29
shruggar sitaram, slide 10 mentions 3 gui tools available. I know of "gitk" and "git gui", what else is there?08:29
sitaram shruggar: git gui blame08:29
Blastur sitaram: by setting the primary group in /etc/passwd for my user08:30
chuck joined08:30
chuck why doesn't git add empty directories?08:30
cytrinox1 left08:31
shruggar sitaram, ah, I think I use vim for that. Also, it choked when I gave it an absolute file path o.o08:31
sitaram Blastur: hmm not sure what that would do. Can you paste "ls -al $REPO/objects/0c"? and I will explain better...08:32
shruggar chuck: the short answer is probably "because empty directories don't get output by "diff -u""08:32
sitaram shruggar: git gui blame is a little sensitive. Not too many people know it, so it's a little shy. :-)08:32
cytrinox_ joined08:32
sitaram chuck: git tracks content, not files, so empty directories don't get tracked. Often debated, but that's the way it is.08:33
chuck: workaround: "touch .gitignore" inside your empty directory08:33
Blastur sitaram: http://pastebin.com/m4c1c603c08:33
chuck hrm.08:33
sitaram Blastur: who tried to push and got an error then?08:34
parasti Git is also not a deployment tool, but a VCS, and empty directories don't make much sense in that context08:34
Blastur i tried to push, and i got the error08:34
shruggar chuck, basically the empty-directory thing isn't "interesting" enough for anybody to fix, and goes against some traditions of how patches are sent. And yeah, as sitaram said, it's difficult to give a directory an "identity" which can be usefully understood. The accepted work-around is to put .gitignore into the empty directory08:34
Blastur the ls-al was on my colleagues machine, who i try to push to08:34
maybe you meant i should ls -al in my own $REPO ?08:34
sitaram wait, I was unclear. I mean, I need that "ls -al" on the server side (the server hosting the repo to which you are pushing)08:34
Blastur yeah, thats it08:35
sitaram well what is the userid you're using to do the push?08:35
ankit9 left08:35
sitaram Blastur: in other words, the userid in the git Remote URL08:35
harinath left08:35
harinath joined08:37
julm left08:38
jds joined08:38
julm joined08:38
cytrinox left08:38
mbroeker joined08:39
cytrinox joined08:41
vshriram_ left08:42
sfwc left08:42
yhager how do I "unadd" a file?08:42
sgronblo weird, the git revert commit worked for 2 out of 3 files that are affected by the commit, but one of them was not updated or something so I get nothing to merge there.08:43
tono joined08:43
parasti yhager: read "git status" output08:43
yhager parasti: whoops. sorry.08:43
parasti yhager: no problem. this is kind of a FAQ :)08:44
yhager parasti: I urge everybody to read man page and program outputs, but on the trivial stuff I miss it myself..08:45
ppawel joined08:46
sgronblo Oh I think I found it...08:46
rindolf joined08:47
intripoon joined08:48
rindolf Hi all. "git status" gives me "Your branch is ahead of 'origin/master' by 2 commits." - what can I do about it?08:48
yhager rindolf: if you want to update origin/master, push your changes with 'git push'08:48
rindolf yhager: ok.08:48
yhager: did that. Still the same problem.08:49
yhager rindolf: any errors from git push?08:49
rindolf yhager: no.08:50
no errors.08:50
Blastur sitaram: well, my user is magnusol, im in group axusers. my colleague is joneib, and he is also in group axusers08:50
but i (magnusol) cannot push to his repo08:50
rindolf "No shrubberies."08:50
estan joined08:51
yhager rindolf: let's see if someone else picks this up, I'm quite a n00b in git, but push/pull I know :)08:51
girishr joined08:51
volante l/exit08:53
cytrinox_ left08:53
volante oops08:53
volante left08:53
dwmw2_gonedwmw208:54
sitaram Blastur: can you paste ls -al, not ls -l? The "a" is important08:54
rindolf: what is your current branch? and is your version very recent (enough to have "push.default" set to "nothing"?)08:55
rindolf sitaram: my current branch is "master".08:57
sitaram: and which version? Of git? Of the repository?08:58
blaenk left08:58
sitaram rindolf: git08:58
rindolf: git --version08:58
rindolf sitaram: git version 1.6.3.208:58
sitaram anyway try "git push origin master" and paste the output if it doesn't work08:58
rindolf: aaha! also try "git config push.default"08:59
gpampara joined08:59
sitaram and tell me what it says08:59
rindolf fatal: protocol error: expected sha/ref, got '08:59
*********'08:59
OK.08:59
sitaram rindolf: your ssh session is not clean08:59
rindolf sitaram: ah.08:59
sitaram: WDYM?09:01
Blastur sitaram: i did the g+s stuff on my colleagues machine now, and now i can push :)09:01
happy days09:01
kobani joined09:01
_Vi rindolf, Extra characters appear in SSH connection. Try "ssh ... ... echo qqq" - you should see only "qqq", nothing else.09:02
pcapriotti joined09:03
vshriram left09:03
sitaram rindolf: sorry was away09:03
rindolf error: Malformed value for push.default: git://git@github.com:shlomif/cpanhq.git09:04
vshriram joined09:04
sitaram nods at what _Vi said09:04
estan left09:04
_Vi rindolf, It may be caused by ".bashrc" or similar script that output time, fortune or something.09:05
rindolf, (on that side).09:05
KiBi left09:05
vshriram i checkout a git repository from the net. i checkedout a branch 'git checkout orgin/xx' now i do a git reflog. it shows me only 2 entries. what about all the activty done at the remote server where git was located. why reflog does not display that09:06
_Vi vshriram, Reflog is your local one.09:06
vshriram, It is not cloned.09:06
vshriram, Use usual "git log".09:07
vshriram cant i use reflog thing. i dont want the log of commits done. i want to know what commands were used/whether they were rebased/merged things like that09:07
_Vi vshriram, In "git log" or similar things you will see when they was merged (not fast-forward).09:08
vshriram, Public branches just should not be rebased or filtered.09:08
BigMack83 joined09:09
vshriram vi: how do i know/make out if a merge/rebase has taken place. until you get a merge coflict you wont know09:10
BigMack83 how would I use this git command if my server operates on a different port than normal? git clone ssh://username:xx.xx.xx.xx/home/public_html/gits/project.git09:10
Blastur thanks for all your help sitaram & shruggar09:11
wereHamster BigMack83: ssh://username@address:port/home/..09:11
BigMack83 normally with ssh command i would just add the "-p xxxx" option to imply a certain port09:11
sitaram Blastur: you're welcome09:11
BigMack83 wereHamster: thats what i tried, didnt work. maybe its another issue then09:11
wereHamster BigMack83: it must be another issue then09:12
sitaram BigMack83: another way is to create a stanza in $HOME/.ssh/config that has all the right values and just use that in your git url09:12
BigMack83: if you need details ask09:12
BigMack83 might be a key thing. but i wouldnt think so since i dont have any setup09:12
_Vi vshriram, If do no changes and just pull from remote and it shows that it is not "fast forward", it is sign of remote rebase.09:13
BigMack83 sitaramyou have a link showing how to do that?09:13
sitaram BigMack83: also, "didn't work" is not very useful ;-)09:13
wereHamster BigMack83: does normal ssh to that port work?09:13
BigMack83 yes thats how im in the server now09:13
_Vi vshriram, Just don't use rebase on branches that can be fetched by someone.09:13
BigMack83 sitaram: lol i know im tryign to get more info.09:13
rindolf OK, working now.09:14
BigMack83 ssh: Could not resolve hostname bigmack83:209.20.89.68:16487: Name or service not known09:14
fatal: The remote end hung up unexpectedly09:14
struberg joined09:14
BigMack83 ^^ thats the error09:14
sitaram BigMack83: your URL looks weird. Shouldn't there be an @ sign between "bigmack83" and 209 instead of ":"09:15
?09:15
vshriram _Vi: can you elaborate?09:16
i didnt understand what you told09:16
_Vi BigMack83, I sometimes start something like "socat tcp-l:22,bind=127.0.0.2,fork,reuseaddr tcp:remote_host:remote_port" and use ssh://127.0.0.2/09:16
BigMack83 feels retarded09:16
BigMack83 yea seems i was using ' : ' instead of ' @ ' for whatever reason and didnt see it. its connecting now. i need coffee09:16
_Vi vshriram, "rebase" is not a command that should be applied to public branches. Do you understand what is a public branch?09:17
sitaram _Vi: not needed, just use a stanza in ~/.ssh/config and then say "git clone github:projectname.git" or whatever (the stanza is called "github" -- and contains everything you need to connect!)09:17
BigMack83: :)09:17
julm left09:17
_Vi sitaram, (Or similar thing with "iptables -A ... -j DNAT")09:17
jkacur joined09:18
BigMack83 sitaram: thx. so can you elaborate on the stanza thing?09:18
jkacur should I be using git-apply directly or is that just low-level git?09:18
julm joined09:18
sitaram BigMack83: sure. wait09:19
jkacur if I have a patch that is not in a mail box, git-am -3 doesn't work, because you get a msg that "Patch does not have a valid e-mail address."09:19
ideally what I want is to apply the patch and then fix the conflicts, but not quite sure how to accomplish that09:19
shruggar sitaram: your words intrigue me. What manpage and keyword would I need to learn more about "stanzas"?09:20
vshriram Vi: public branch = that is accessible to public09:20
Vi: other developers pull, clone from this branch09:20
correct?09:20
cilly joined09:21
struberg left09:21
vshriram now what if i have to create a repo using the contents of 2 or more public branches + my own contents. should i use rebase/merge. i am talking of linux here. so the base is same for all the 3.09:22
sitaram shruggar: hmm I've been calling them stanzas God knows why :-) Paragraphs maybe?09:22
_Vi vshriram, You want to create a repo just for you, or it will be clonable/pushable too?09:23
vshriram it will clonable and pushable09:23
sitaram BigMack83, shruggar, here is mine:09:24
http://pastebin.com/d7d6d367209:24
Flathead left09:24
_Vi vshriram, Calling "rebase" every time is bad idea. Using "merge" every time is better idea.09:24
cytrinox_ joined09:25
sitaram BigMack83, shruggar, in fact you can use them really well when you're behing proxies etc: http://sitaramc.github.com/tips/git-over-proxy.html09:25
shruggar sitaram, ah, misread, I'm dumb. I was thinking you meant a way to specify psuedo-protocols for git the way you can in svn09:25
BigMack83 oh ok. thats cool. i see. but how do i use it in action? how would i tell git to use the file for that info09:25
sitaram shruggar: oh... sorry! I did say ~/.ssh/config, in my defense!09:26
_Vi vshriram, Once you call "rebase", you will "lose connection" with one of that "2 or more public remote branches".09:26
gitte joined09:26
sitaram BigMack83: "git clone gh:path/to/repo.git"09:26
BigMack83 oooh, thats cool09:26
shruggar sitaram, yes, I said /I/ misread and was stupid :)09:26
sitaram BigMack83: where "gh" is the name of the "stanza" heh09:26
BigMack83 thanks. will try it out09:26
shruggar also, why does "git instaweb" complain that I need to be in the top of my work tree instead of just, like.. going there itself?09:26
BigMack83 yea. thats pretty cool. does that work the same for things like ssh/scp/sftp and such?09:27
vshriram _Vi: i have to create a repo - <merge public repo 1> + <merge public repo 2> + Add my contents + <merge changes in public repo1 that taken place since> + add my changes + <merge changes taken place in public repo 2 that might have taken place>09:27
sitaram BigMack83: all of 'em09:27
BigMack83 nice09:27
vshriram is that what you say?09:27
BigMack83 see i like this room already, and ive only been in here for 10 minutes09:27
_Vi vshriram, Yes, it is the right way used in many repositories.09:28
vshriram, When you merge second time, it will automatically do "that taken place since".09:28
sitaram BigMack83: not to forget rsync :-)09:28
BigMack83 yea. im still somewhat new to admin stuff, i havent even tried rsync yet.09:29
its on a long list of stuff i need to try out09:29
sitaram BigMack83: rsync will make you forget scp :)09:29
BigMack83 ok09:30
vshriram Yeah09:30
shruggar clings on to his scp with his cold dead hands09:30
shruggar considers seeing a doctor about those09:30
sitaram breathes new life into shruggar's hands using rsync09:30
shruggar thanks! I - wait!09:30
sitaram believes scp killed shruggar's hands :-)09:30
sitaram LOL!09:31
_Vi vshriram, Are pubrepo1 and pubrepo2 related? If they come from common ancestor merge will work even better.09:31
BigMack83 yea, but most of the others in my group are all windows users. i was too until 2 months ago. (ubuntu now) so i need to be able to use stuff they can use easily as well.09:31
cpg left09:31
BigMack83 hah09:31
_Vi vshriram, If they are completely unrelated, it may be better to put them in separate subdirectories in working tree (submodules).09:32
BigMack83 sitaram: for hostname ssh.github.com would i replace ssh.github.com with just the IP if its on a personal server?09:34
vshriram left09:34
cytrinox1 joined09:35
Juan__ joined09:36
vshriram joined09:36
vshriram _Vi: they come from a common ancestor but they are different features, which are not related09:37
cytrinox left09:38
vshriram Vi: When i merged the first tree, i got all the commits of that tree < i mean 200 or so commits> + there was a merge conflict, which i resolved. so far okay. now i try to merge the second tree09:38
sitaram BigMack83: yes09:38
vshriram i dont get any conflicts but i get only one single commit09:38
BigMack83 ok cool. thanks for the help and tips09:39
vshriram but when i use git format-patch to see - it in turn creates 100 commits out of that single commit which reads as merge....09:39
why is this?09:39
DavidKlein left09:40
cytrinox joined09:40
sitaram BigMack83: you're welcome09:40
wereHamster vshriram: how did you invoke format-patch? did you limit it to a number of patches or a rev range?09:41
cytrinox_ left09:42
univate_ left09:43
vshriram i used that last <commit id> before the merge as the starting point09:43
julm left09:44
vshriram i done the following: <git checkout mytree> + <git pull repo1 - which creates 200 commits> + <resolve merge conflicts> + <git pull repo 2 - which creates only one commit - commit message is merge..>09:45
now if i do git format-patch <commit id of merge conflict> .. -o ./patches i get 200 patches09:45
but for these 200 patches i get only one commit in my tree09:45
julm joined09:46
wereHamster vshriram: no, there is only on merge commit, but it has two parents and one of the parents is pointing to those 200 cmmit09:46
commits09:46
makies_botmakies09:47
Cromulent joined09:48
DavidKlein joined09:49
vshriram left09:50
cytrinox_ joined09:50
jaeckel joined09:51
Juan_ left09:51
cytrinox1 left09:51
vshriram_ joined09:54
vshriram_ wereHamster: i did not understand what you told. am i doing something wrong?09:55
Stravy left09:56
wereHamster vshriram_: git-format-patch will create one patch for each commit listed in git log --pretty=oneline <commit id of merge commit>..09:57
KingBug_ joined09:57
cytrinox left09:58
Blastur what is the recommended way of pulling while having uncommited stuff in your working dir? git stash and then pull?09:58
vshriram_ left09:58
wereHamster Blastur: yes09:58
_Vi left09:58
univate_ joined09:59
KingBugGuest475809:59
KingBug_KingBug10:00
eddyp joined10:02
ilteris__ left10:02
cilly left10:06
cilly joined10:06
Fullmoon left10:07
cytrinox joined10:07
Cromulent left10:08
k0001 left10:09
cytrinox_ left10:09
Cromulent joined10:09
vshriram joined10:09
vshriram wereHamster: i thought so - one entry in git log = one patch using git format patch. when i did a merge i got a single commit saying <merge from so and so git tree and branch>. now i did a git format-patch <commit id of the last commit before the merge>.. now i get 200 patches out of it10:10
Guest4758 left10:11
mstormomstormo_10:12
cytrinox left10:12
mstormo_mstormo__10:12
mstormo__mstormo___10:13
cytrinox joined10:13
mstormo___mstormo10:13
sitaram left10:14
wereHamster vshriram: git-merge *creates* one new commit, but that commit *references* a long history.10:14
jkacur Can someone explain what to do when a git apply patch fails?10:15
cao left10:15
vshriram left10:15
jkacur What I want it to do is apply the patch with conflict markers that I can fix.10:15
is that possible?10:15
(like what I think git-am -3 does)10:15
ShadowBot joined10:16
robinsmidsrod1 left10:17
ShadowBot left10:18
ntoll joined10:18
vshriram joined10:19
cao joined10:19
sergiodj left10:19
vshriram sorry, getting disconnected too often10:19
jkacur :)10:19
freenode woes10:19
vshriram probably it does not like users who ask lots of questions ;-)10:20
jkacur freenode --eject 3_or_more_questions10:21
Fullmoon joined10:23
vshriram left10:25
sitaram joined10:26
fujin joined10:26
cytrinox_ joined10:26
ShKoDrAnI joined10:27
tbf left10:28
galderz left10:28
girishr_ joined10:29
tbf joined10:29
gitte pasky: I had no idea what the talk of the missed ping packets was about yesterday, but I think I see it now: 1kB/sec. That is awful!10:31
girishr_ left10:31
girishr_ joined10:32
Fullmoon_ joined10:32
Cromulent left10:33
pasky gitte: i've sent a mail to the isp, no reply yet10:33
gitte pasky: I thought rover was in your university?10:33
pasky no10:33
girishr left10:33
gitte Okay, but this issue is definitely new.10:33
pasky it's at UPC/Chello, fairly large household provider in *.cz, so hopefully someone notices this soon10:34
corni joined10:35
gitte pasky: my experience with such people: they do not read email, or delete them after reading without further action. You need to phone them, I guess...10:35
UUncia joined10:36
pasky well, i'm sorta friends with them, so I'd hope not :)10:37
girishr joined10:37
cytrinox left10:39
janmejay joined10:41
cytrinox joined10:41
gitte pasky: now I have 0kB/sec10:41
pasky: maybe you want to pay them a visit?10:42
janmejay for a tracking branch, is there any way to lookup the branch it tracks?10:42
sitaram git remote show origin -- should do it10:43
jerome joined10:45
emias left10:45
janmejay yes it does, but the repository i have is a git-svn repo. there is this local branch called 'master' which is tracking 'remote/trunk' and i have a script in which i want to discover this relation (so that it works for other tracking branches too)10:45
vermila joined10:46
cytrinox_ left10:48
Fullmoon left10:48
emias joined10:49
aziz joined10:49
ereslibre joined10:50
jkacur gets his work done with a bastardized use of quilt and git together10:51
wxr483 joined10:52
girishr_ left10:52
vshriram joined10:52
vshriram weremaster: this does not happen often. sometimes it (merge) creates only one commit. sometimes merge creates 100's of commits10:52
ankit9__ joined10:54
drizzd_ a merge always creates one and only one commit. It's the one saying "Merge branch '...'".10:54
vshriram hmm. not happening for me. does a git pull <repo ip address> <branch name in the repo> do the merge?10:57
ankit9 joined10:58
drizzd_ yes, unless you configured to use rebase instead10:59
wxr483 Hey people, I'm pretty new to branches and stuff, so I need some adwise... I'm working on a project where I download nightly builds every morning. The changes I made comes in two categories: in-house and public. The public patches are sent upstream and gets integrated in the next nightly. In-house patches are not.11:00
How should I set up my stuff to get working without to many conflicts?11:01
drizzd_ I'm assuming you do understand what a merge is in git. A merge essentially ties two histories together. So the resulting history will have all commits from both histories.11:01
vshriram_ joined11:02
gpampara Well, two or more11:02
ankit9__ left11:03
drizzd_ gpampara: from the description vshriram gave above I inferred that he's only merging one branch at a time11:03
gpampara drizzd_: no worries, just mentioning it11:04
vshriram drizzd_: does a git pull do a merge?11:05
drizzd_ vshriram: 13:00 < drizzd_> yes, unless you configured to use rebase instead11:05
vshriram how do i make sure i have not configured to use rebase?11:06
drizzd_ wxr483: to avoid conflicts make sure you don't touch the same code in different branches11:06
makiesmakies_bot11:07
drizzd_ vshriram: read the man page for git pull11:07
wxr483 drizzd_, yea, but if I add (or remove) large chunks at once, can't the offset go wrong?11:08
drizzd_ wxr483: always apply patches to the version they apply to, _then_ merge if necessary11:09
(or rebase)11:09
vshriram drizzd_: i think git pull is working for me. i thought it will pull the patches on top of the first merged tree. but the patches of both the trees have been applied interchanging11:10
i did a git checkout baseline_branch + merge public repo 1 + merge public repo 211:11
ankit9_ left11:12
vshriram now i thought what will happen is <baseline branch> + patches of repo 1 + patches of repo 211:12
murph_ joined11:12
vshriram what is happening is <base line branch> < some patches of repo 2> + < some patches of repo 1> + < some more patches of repo 2> + < some more patches of repo 1> and so on11:13
probably it is doing that based on commit date and something else11:13
drizzd_ vshriram: take a look at gitk --all11:13
vshriram: the git log manpage says "by default commits are ordered in reverse chronological order"11:14
harinath left11:14
drizzd_ since git has a non-linear history you can't represent it as a simple sequence of patches11:14
julm left11:15
Arafangion joined11:16
julm joined11:16
UUncia left11:16
harinath joined11:16
ignas left11:17
solydzajs left11:17
ngirard joined11:18
vshriram_ gitk --all does not display things neatly icons are very very big11:19
ngirard Hi all. Hopefully my question is not off-topic: when i try to push using git-gui, I get "Enter passphrase for key '/home/ngirard/.ssh/id_rsa':" printed to STDOUT, and i don't know how to enter it.11:19
Any thoughts ?11:19
Arafangion ngirard: The standard answer is to use a key manager, but I've never used it.11:21
d0k joined11:21
ngirard Arafangion: aha. Ok, I get it. Thanks for your answer.11:21
spaceonline joined11:22
saurabhverma1 joined11:23
WebDragon joined11:24
includao joined11:25
aspotashev|eeepc joined11:25
includao left11:25
dodo_the_last joined11:26
murph left11:29
Fullmoon_ left11:34
Sigma joined11:34
makies_botmakies11:35
lbt left11:37
torbenh3 left11:37
cilly left11:39
vhallac joined11:40
saurabhverma1 hi all , can sombody help me with git granular permission handling ?11:40
what i want to do is , creating git repos , and assigning group based permission for write , the problem is some repos needs more than one AD group11:41
so what i was thinnking is to make single local group composing many AD group and give access11:41
is there any better way todo it ?11:41
saurabhverma left11:41
bcardarella joined11:42
torbenh3 joined11:42
Arafangion AD?11:42
saurabhverma1 active directory11:44
Arafangion What does AD have to do with it?11:44
ijin joined11:44
vshriram left11:45
bcardarella left11:45
saurabhverma1 ok , We need to have git repos , all our users and groups are maintened in active directory , So each repo has to be accessed by users of particular AD group ,11:45
the problem is some repos needs to be accessed by multiple groups , and i dont know how can i map two or more domain groups to a local group11:46
Arafangion Users can easily belong to more than one group.11:47
ereslibre left11:47
saurabhverma1 Arafangion: true , but its not necessary two groups have same users , so two different set of groups have different set of users which can't be common11:50
Fullmoon joined11:50
saurabhverma1 git init --shared can give group based access but i doubt it can have more than one group11:50
Arafangion saurabhverma1: Why couldn't they?11:51
saurabhverma1: You're overcomplicating things.11:51
saurabhverma1: If you're concerned, just give each git repository its own group. Add the users you care about to that particular group.11:51
saurabhverma1 Arafangion: sounds good . so you suggests take all the users from all the Domain groups and add that to local group and give that group access to the repo ?11:52
ph^_ joined11:52
ph^ left11:53
Arafangion My goodness, no.11:53
saurabhverma1 may be i'm little saying with little complication , :( . I am brand new to all this Active directory and linux integration11:54
Arafangion Just... 1) Create a branch, call it wazoo-git-group. 2) Create the wazoo git repository. 3) Add the users who need to interact with the git repository to the wazoo-git-group.11:54
saurabhverma1 Arafangion: ok i got what you are saying now , but these users are not local users , these are users defined in Active directory11:55
Arafangion saurabhverma1: AD is beyond the scope of this channel. If I recall correctly, it is basically an LDAP server with some Microsoft modifications... Consider investigating how to configure Linux to authenticate against AD instead.11:56
If possible.11:56
WinterWeaver left11:56
saurabhverma1 Arafangion: i have already done it , cool let me do some more investigation . thanks a ton :)11:57
ereslibre joined11:57
Arafangion saurabhverma1: I would personally advise you to consider using gitosis instead.11:58
saurabhverma1: And consider the need to have more than just a few people directly work on a project.11:58
saurabhverma1: I can't imagine you having more than a few dozen people work on a single project.11:58
mina86mina86|aw11:58
Arafangion Directly, that is.11:58
saurabhverma1 Arafangion: yeah thats a good option too . I'll consider gitosis too , I was going through it yesterday11:59
candybar left12:00
rraasch joined12:01
mina86|awmina8612:01
joshsdc joined12:04
jkacur left12:06
sitaram left12:07
Julien__ joined12:07
Julien__ left12:08
cannonball joined12:08
candybar joined12:09
kssddy left12:10
Ryback_ joined12:13
gpampara left12:16
WinterWeaver joined12:18
ph^ joined12:20
guitsaru joined12:21
corni_ joined12:22
name joined12:22
memiux joined12:24
ijin left12:24
memiux left12:24
guitsaru left12:25
makiesmakies_bot12:26
rudi_s joined12:28
jmou joined12:28
makies_botmakies12:28
Fullmoon left12:29
hummingkid joined12:30
julm left12:32
ignas joined12:32
saurabhverma1 left12:33
girishr left12:34
corni__ joined12:36
ph^_ left12:37
candybar left12:37
gitte left12:38
jmou left12:38
joshsdc left12:38
WebDragonWebDragon|away12:38
jmou joined12:38
corni left12:39
M_J_G joined12:41
aspotashev|eeepc left12:41
kobanileehambley12:41
pulpfiction left12:41
cilly joined12:42
khmarbaise_ left12:42
Fullmoon joined12:42
corni__corni12:42
makiesmakies_bot12:44
khmarbaise joined12:45
Grahack joined12:46
kpreid_ left12:46
kpreid_ joined12:47
shadowhand joined12:48
saurabhverma joined12:49
jefferai left12:50
jefferai joined12:50
M_J_Ggitigit12:51
gitigitM_J_G12:51
corni_ left12:53
corni_ joined12:53
scarabx joined12:53
lorandi joined12:54
DaveIngram joined12:55
xinming_ joined12:55
xinming_ How do I do a svn copy for a directory within git-svn?12:56
mw joined12:56
WinterDumb left12:56
Julien___ joined12:56
WinterDumb joined12:56
Julien___ left12:58
rindolf left12:59
qrush joined13:00
WebDragon|awayWebDragon13:01
donvinzk joined13:02
eddyp left13:02
donvinzk hello13:02
drizzd_ xinming_: I don't think you can. Maybe git-svn detects that after the fact, but I doubt it.13:03
Bass2 joined13:04
drizzd_ xinming_: the same goes for svn rename13:04
xinming_ drizzd_: Ok, Since I don't like the branch feature within git-svn, I'd really like to totally checkout the repo, and do copy myself there.13:04
doener on a file-basis, git-svn at least correctly translates renames, not sure about copies13:04
wsc left13:05
xinming_ doener: I mean the directory copy. :-)13:05
Pe3k left13:05
xinming_ Now, What I do is copy within svn, and goes to the git-svn repository, and edit there. >_<13:05
donvinzk hi, everytime I apply modifications on files, I have to git add them manually before commiting, because git status reports me that they have changed but are not tracked. Why is that ?13:06
drizzd_ donvinzk: git status only reports new files as untracked, not changed files13:07
doener xinming_: no, it doesn't do copy detection on a directory basis, just tried13:07
xinming_ doener: So, the safe bet should be something like svn copy, and then git-svn >_<13:08
donvinzk it does on my machine13:08
I mean no13:08
it reports them as changed, but not tracked. The untracked is yet another subcategory in a git status13:08
boto joined13:09
saurabhverma left13:09
drizzd_ donvinzk: if you want to add all changed files, use git add -u, or git commit -a13:09
donvinzk ok sorry, it says "Changed but not updated", my mistake13:09
corni left13:11
drizzd_ I usually do git add -u, workwork, git diff, git add -u, workwork, git add -u, git diff --cached, git commit13:11
donvinzk right, the git add -u works, but still, I thought I didn't had to do git -u when I started using git13:13
_Vi joined13:13
drizzd_ donvinzk: you don't have to if you use git commit -a, which is equivalent to git add -u; git commit13:14
hydrogen joined13:14
ericindc joined13:15
ben_h joined13:15
LiamH joined13:15
scarabx left13:16
ben_h_ joined13:16
memiux joined13:16
corni__ joined13:16
joshsdc joined13:17
Cromulent joined13:18
kukks joined13:20
candybar joined13:21
ben_h left13:21
WebDragon left13:22
WinterWeaver left13:23
donvinzk left13:23
smerp joined13:26
shadowhand left13:27
saurabhverma joined13:31
FunkeeMonk left13:31
corni joined13:32
corni_ left13:33
jrmuizel joined13:33
ereslibre left13:34
flazz joined13:34
Fullmoon left13:35
Fullmoon joined13:35
Blastur left13:35
flazz_ joined13:35
samphippen joined13:35
samphippen http://dpaste.com/58712/ what does this mean?13:36
jrmuizel left13:36
nurey joined13:37
nurey left13:38
jester2 Newbie question: I created a new branch, worked on it, committed it, and pushed the commits to my upstream server. Then from a different computer, I did a "git pull". On this computer, "git branch" still shows only the master, though "git branch -a" does show remotes/origin/my-new-branch. How do I get this branch onto this computer so that I can switch into it and edit? And is there something like "git pull all" that will just grab everything from the upstream13:39
_Vi jester2, May be try "git checkout origin/that_branch -b that_branch" on second computer?13:41
jester2 Yup, that works.13:42
Thanks. But is there any way to do things like this automatically? That is, I don't know what branches someone might have created, and I'd like to just be able to have everything show up...13:43
jmou left13:43
jmou joined13:43
rraasch left13:45
ctusar joined13:46
BigMack83 left13:46
DavidKlein left13:46
jmoujulm13:46
khmarbaise left13:46
_Vi jester2, When you do "git pull" it shows you them.13:47
ankit9 left13:48
_Vi jester2, You can also do "git show-ref" to enumerate branches and tags.13:48
hobodave joined13:48
corni__ left13:48
jester2 _Vi: true, but I guess I'd just like them to _be_ there--for my local repo to just contain everything in the main one.13:49
I'll look into this more, though--I'm new to branching in general (too much effort on CVS), so I'm learning... Thanks13:49
w|shimmy jester2: whenever you fetch from a remote you automatically get all of the branches13:49
jester2: you just don't have a local branch that corresponds to it yet13:49
jester2: you can git checkout origin/branch if you'd like just fine13:49
jester2 OK. I guess I need to read up more on the whole concept of local stuff.13:50
Thank you.13:50
w|shimmy jester2: just in a situation called a 'detached HEAD' - so if you commit while on that branch, you aren't committing it to any branch, since origin/branch is not local. if you plan to edit, go with a git checkout -t origin/branch or similar.13:51
hydrogen left13:51
bobmcw joined13:51
flazz left13:51
psankar left13:54
nurey joined13:56
Julien___ joined13:57
bdiego joined13:57
Julien___Juju13:58
Juju left13:58
xinming_ left13:59
flazz_flazz14:00
sitaram joined14:01
DrAk0 left14:02
ericindc left14:02
sfwc joined14:02
sitaram left14:05
Fullmoon left14:05
Jujulien joined14:08
JujulienJule14:08
Arafangion left14:08
shruggar I've just accidentally committed to a detached HEAD. I don't care about what I committed (the work exists elsewhere), how can I just make sure it won't be sitting there taking up space forever, and will be garbage-collected or something?14:09
deanh joined14:09
JuleJuliano14:09
janmejay left14:10
Juliano left14:10
Ilari shruggar: Check out some other branch to retach HEAD. It will be gc'd eventually.14:11
Pieter shruggar: do you really care about those 10KB or something?14:11
if you want to GC now, you'll have to checkout another branch and remove all your reflogs14:11
alezandro joined14:16
Yuuhi joined14:17
hobodave left14:17
memiux left14:18
gaveen left14:20
withanx joined14:20
withanx there isn't a way to recursively update submodules?14:20
ben_h_ben_h14:21
gaveen joined14:21
shruggar afaik submodule support is very basic and somewhat broken in terms of UI14:21
withanx eh that's annoying14:22
bobmcw I anti-submoduled my project, and life got much better14:22
submodules are just pain14:22
nurey left14:22
withanx they would be useful if they worked =/14:23
offby1 I use 'em a little, and they're fine14:23
shruggar if submodules in git were as transparent and painless as they are in SVN, I'd call them useful, but they are somehow worse :)14:24
offby1 they did take a while to figure out14:24
nurey joined14:24
Julien__ joined14:24
w|shimmy I think they're actually pretty intuitive if you're developing with them. A pain for people who are checking out your source though.14:25
jrmuizel joined14:25
Julien__ left14:25
julm left14:28
julm joined14:28
JasonWoof joined14:29
tvw joined14:30
stephenjudkins joined14:30
murph_ left14:31
whaley_ joined14:31
bobmcw w|shimmy: I found them obnoxious as developer14:32
folks forgetting to update the root project to update to new submodule HEADs14:32
tagging being painful upon releases14:32
ie, submoduleA#HEAD was correct, but root#HEAD was pointing to submoduleA~15 still14:32
Fullmoon joined14:34
marcelo left14:35
suman joined14:35
sebleier|awaysebleier14:35
whaley- joined14:36
suman hi all... i have a remote branches and i want create another remote branch which branches off from a remote branch... what is the best way?14:36
whaley_ left14:36
w|shimmy suman: you want the branch to be on the remote?14:36
suman yeah14:36
i want to create another branch on the remote, branching off from a branch in the remote14:37
i know a couple of ways.. but am looking for the best way14:37
is there a direct way to create remote branch off another remote branch14:37
w|shimmy suman: I suppose, git checkout -b new-branch remote/branch && git push remote new-branch seems straightforward enough, but I've not seen/used something like that before14:38
suman w|shimmy: but the remote branch needs to be created rite.. do you thing 'git push remote new-branch' createa new branch, if one doesnot exist??14:39
lymeca joined14:40
roop left14:40
w|shimmy suman: yes, of course14:41
suman alrite... it does..14:41
does the new branch on the local machine track a new branch on the remote machine??14:42
shadowhand joined14:42
jrmuizel_ joined14:42
ph^ left14:44
memiux joined14:45
coldboot If I have commits like this: 1-2-3-4-5-x, what's the easiest way to get 1-2-3-x-4-5 ?14:47
ben_h left14:47
offby1 rebase -i!14:48
"git rebase -i 1", for some value of "1".14:48
M_J_G coldboot: I guess you rebase -i 2, specify edit for 3 and make a new commit instead of amending 3.14:48
offby1 opens an editor showing those commits ... just take the line for X, and move it up two lines.14:48
ben_h joined14:48
offby1 Save and exit.14:48
Voilà.14:48
coldboot Woah, cool14:49
Vinnie joined14:49
offby1 M_J_G: I don't think he wants to _edit_ the commit; I think he just wants to move it around.14:49
coldboot Yeah just moving it around.14:49
So what's the '1' for?14:49
M_J_G Yes, I thought he doesn't have x yet -my bad.14:49
mattikus joined14:49
nothingHappens joined14:49
metellius so I did my work in a local topic branch that was branched off a remote branch. what is the best practice for merging this back now? I'd rather like to avoid keeping a local copy of the parent branch, and somehow just merge the topic branch back and then end up with no local branches at all14:50
Octalot_ joined14:50
donvinzk joined14:50
M_J_G coldboot: '1' is the name of the ancestor of the first commit that you want to rewrite. Could be 3 here ;)14:51
Cromulent left14:51
rlorandi joined14:51
coldboot M_J_G: Thanks14:51
Oh, the new "base" that you're rebasing to, of course.14:52
corybantic joined14:52
aser left14:52
donvinzk hi, I did a git reset to revert changes on my local repo, and would like the remote to reflect this. However, right now, it is still pointing to the old location, which prevent me to fast forward merges. Graphical description here: http://imagebin.org/53423 . Could you help me revert the remote too ?14:53
jrmuizel left14:53
altrux joined14:53
offby1 metellius: check out (a local branch based on) the parent; "git merge your-local-topic-branch".14:54
Then "git push", or send patches, or whatever it is you do to get your work upstream.14:54
coldboot Can you un-add files?14:54
Without deleting them.14:55
offby1 donvinzk: so you want to essentially destroy the commit labeled "Added dummy IObject for dev version"?14:55
M_J_G coldboot: git rm --cached file14:55
knitt1 good afternoon14:55
offby1 <dracula>Good Evening</dracula>14:56
Fullmoon left14:56
knitt1 i want to import an svn repo to git. what i'm not sure about is this: the toplevel structure is btT + 3 other folders. how can i import that intelligently?14:56
agile left14:57
suman thanks w|shimmy14:57
offby1 knitt1: hmm.14:57
bugfux joined14:57
_Vi left14:57
donvinzk offby1: yes, the remote/origin one. And I want the remote/master to point to 'git command added'14:57
coldboot Are the git developers working on making git faster for huge (# of files) repositories?14:58
offby1 donvinzk: ok, I think you can do "git push origin +refs/heads/foamDev:remotes/origin/foamDev"14:58
the + is key14:58
knitt1 coldboot: i think the bottleneck is hdd speed here14:58
offby1 also, know that if that works, people who've already pulled that commit will get merge conflicts and/or other unpleasantness.14:59
They'll have to "force" update their local branches.14:59
knitt1 do i have to import the folders other than btT manually into their own branches?14:59
offby1 knitt1: I suspect so.14:59
but I doubt it's hard.14:59
coldboot Argh! git rm --cached removed my files, git status says they're deleted, I just wanted to un-add them from the index after I added them.14:59
knitt1 if i have problems, i'll just come back :)14:59
kishore_ joined15:00
M_J_G coldboot: ls will tell you they're not deleted.15:00
coldboot M_J_G: I know that, but they're to be deleted from the repository.15:00
knitt1 coldboot: git reset -- file15:01
lorandi left15:01
M_J_G coldboot: So you only want to un-add the recently staged changes, not the whole file? knitt1 just answered that.15:01
robinsmidsrod joined15:02
coldboot Okay thanks15:02
kishore_ I have a git project and in one of its branch i have added a submodule, but the folder of the submodule remains even when I checkout master again15:02
Is there some whay to avoid that?15:02
whaley-whaley15:03
kishore_ I would want that folder to disappear when I go to master as it does not belong there15:03
julm left15:03
uau kishore_: IIRC not - git's handling of submodules is rather limited15:03
julm joined15:03
kishore_ Right now, it is only clutter but i could imagine that it could mess with some makefiles that do file/folder globbing15:04
wxr483 left15:04
kishore_ uau: I know.. but is there a way to work with it? or is subtree merge the way to go?15:04
psoo left15:04
orospakr left15:04
w|shimmy kishore_: when you checkout master, git just sees the folder as an untracked (empty) folder afaik15:05
uau "way to work with it" depends on what you need - git's functionality is limited, whether it's just too bad or still usable depends on your requirements15:06
M_J_G kishore_: You can try git clean15:06
w|shimmy kishore_: ie, just delete it on master and git won't even notice it15:07
kishore_: or git clean, as M_J_G said. probably a safer move, in case I'm full of shit.15:07
uau however if you delete the submodule when switching to another branch then you need to check it out again when returning15:07
coldboot knitt1: Hard drive speed is the bottlekneck because it has to hash every file?15:08
kishore_ uau: the folders are empty and yes i need to check them out again which i cant do now as that remote is not accessible from here at home for me15:09
hobodave joined15:09
kishore_ so submodule is a bit limted it seems15:09
uau why are the folders empty?15:09
Vinnie left15:10
Grahack left15:10
kishore_ i might have better luck with the subtree15:10
uau git shouldn't empty them even when switching to a branch without the submodule IIRC15:10
w|shimmy afaik, git doesn't touch the submodule directory at all15:11
saurabhverma1 joined15:11
uau rather it'd leave the submodule checkout there even if it shouldn't be in the next branch15:11
kishore_ uau: I cloned a local copy of the repo to experiment and it seems that is the issue as the remote server at office needed by the submodules is not available from here at home15:11
uau submodules are never initialized by normal clone (even if available)15:11
Fullmoon joined15:12
uau you always need to manually initialize them15:12
kishore_ uau: Yes the folders are not emptied when i checnge branches15:12
mm_202 joined15:13
kishore_ I think i would have better and true "distributed" behaviour with using subtrees i guess15:13
Is there a good guide for subtree merge? A tutorial for dummies? :D15:14
saurabhverma2 joined15:15
vhallac left15:15
uau the 'subtree merge' is a rather limited special tool only15:17
solofight left15:17
uau subtrees behave much better in checkouts, but i wouldn't call them 'true distributed behavior'15:18
i don't think they're suited for actual distributed development15:18
merlin1983merlin83_15:18
hiffy_hiffy15:19
uau (unless the subtree is the canonical copy)15:19
mm_202 Hey guys, Im sure you'll tell me to RTFM or the changelogs, but could someone just quickly tell me what the major differences between git 1.6.0 and git 1.6.3 are?15:19
kishore_ but with submodules, i cannot share my super project branch with my colleagues without much work15:19
like sharing each of the submodules and getting them to be cloned manually15:19
uau yes in practice embedding a copy of the other repository works much better for checkouts than git submodules15:20
saurabhverma3 joined15:20
kishore_ ie while i am away from the sentral server15:20
uau but such embedded copies are clumsy too if you need to do any development affecting them15:21
kishore_ uau: what then is the down side of the subtree merge? keeping it updated?15:21
uau and not at most occasionally update them to the latest version of the "upstream" module15:21
as i said above the "subtree merge" is just a limited special tool15:21
kishore_ uau: Yeah i certainly want to be able to modify the subproject and send those changes to the original project too15:22
mkemp joined15:22
uau what you actually do is add a copy of the software somewhere in the tree (and perhaps try to update it)15:22
you can try to use the subtree merge for those tasks, but it's just a detail15:23
krawek joined15:23
DavidKlein joined15:23
knittl joined15:23
kishore_ uau: I dont understand? detail?15:23
ia left15:24
uau don't understand what?15:24
kishore_ "but it's just a detail"15:24
you mean it is not too easy to manage?15:24
AAA_awright_AAA_awright15:25
uau i mean the "subtree merge" operation in git is just one (rather limited) tool that can perhaps help in doing the actual task15:25
eldragon left15:25
ia joined15:25
mkemp left15:25
uau so describing the actual alternative itself as "subtree merge" is misleading IMO15:25
kishore_ Ah ok. So there are more opeartation to do to manage it well15:25
mkemp joined15:25
kishore_ Can the detail be scripted?15:26
eldragon joined15:26
kishore_ Maybe i can look through that detail if i first learn how to manage with subtree merge15:26
is there a tutorial?15:27
orospakr joined15:27
donvinzk left15:28
saurabhverma left15:28
tbf_ joined15:29
shadowhand left15:31
cilly left15:32
saurabhverma1 left15:32
hi3 what's a good way to commit current changes to a new branch?15:33
drizzd_ hi3: git checkout -b my-new-branch15:34
hi3 thanks drizzd.15:35
knittl left15:35
willb left15:35
_Vi joined15:35
drizzd_ kishore_: yes, there is a tutorial15:36
kishore_: it's on kernel.org I believe15:36
saurabhverma2 left15:36
drizzd_ search "git subtree merge" and press "I'm feeling lucky"15:36
mattikus left15:37
tbf left15:37
kishore_ drizzd_: Thanks. I looking through http://www.kernel.org/pub/software/scm/git/docs/howto/using-merge-subtree.html15:37
drizzd_ that's the one15:37
alvarezp left15:37
WinterWeaver joined15:38
lbt joined15:38
reprore_ joined15:39
apeiros_ joined15:39
whaley left15:41
lighthead joined15:41
BlindOracle joined15:42
vshriram_ left15:42
whaley joined15:42
agile joined15:42
Moult left15:43
girishr joined15:44
cemerick joined15:44
Moult joined15:44
girishr left15:45
stephenjudkins left15:45
drizzd_ kishore_: there is also git-subtree, which helps you with that. It's not in mainline git (yet) though: http://github.com/apenwarr/git-subtree15:46
sebleiersebleier|away15:46
nurey left15:46
Cromulent joined15:46
krynnotaur left15:47
Krynnotaur joined15:47
Chillance joined15:47
tango_ left15:48
rylar_offrylar15:49
sebleier|awaysebleier15:49
WinterWeaver left15:50
ericindc joined15:50
kishore_ drizzd_: i stumbled upon that post and it was interesting. Any clues if it is likely to be merged with mainline?15:51
julm left15:52
kishore_ I dont want to end up supporting the tool for ever once i introduce it to my colleagues! :)15:52
drizzd_ kishore_: I'm not really sure. IIRC there was not much response. It certainly makes handling subtree merges easier, but it doesn't really solve the problem submodules try to solve either15:52
julm joined15:52
drizzd_ (which is that you may not want the entire project in one tree)15:52
whaley left15:53
voker57 joined15:53
ppawel left15:54
gaveen left15:54
drizzd_ otherwise, I think the tool should be fairly safe to use because it only builds on basic git functionality. You can achieve the same thing using git merge -s subtree and filter-branch manually.15:54
rafael_lorandi joined15:54
carrus85 joined15:55
kishore_ drizzd_: ok15:55
How i wish git mainline tried addressing this issue :(15:56
stuffcorpse left15:56
stuffcorpse joined15:56
M_J_G kishore_: Describing the actual issue concisely (on the mailing list) might a first step ;)15:57
krh joined15:57
drizzd_ kishore_: the perfect solution would be narrow and sparse clone support: http://git.or.cz/gitwiki/SoC2009Ideas#NarrowandSparseclonesupport15:57
M_J_G kishore_: I.e.: What's the problem, where do subtree and submodule go "wrong"?15:58
drizzd_ there have been a few attempts/approaches15:58
CardinalN joined15:58
kishore_ M_J_G: I sure would but it seems to me that im not the first to feel so and others have expressed this15:58
drizzd_ The above would render submodules entirely obsolete15:59
kishore_ M_J_G: But i'll try anyway and maybe add to the momentum15:59
marc_kdab left15:59
marc_kdab joined16:00
leehambley left16:01
sitaram joined16:01
WinterWeaver joined16:01
rlorandi left16:01
lightcap joined16:01
Cromulent left16:01
sunoano left16:02
lightcap So, I have a branch that I'm working on on my laptop and I need to push it to my desktop to continue working on it while the laptop goes off for repairs. How do I push a new branch to the desktop?16:02
lavamind joined16:03
lavamind hello, using Git, is it possible to do a merge that does everything except merge the history from the remote branch into the current branch?16:03
giallu left16:03
_Vi lavamind, Yes, it is.16:03
Pieter git merge --squash16:03
kishore_ drizzd_: how would that eliminate submodules? for that it would need to be able to maintain the blobs along with the super project blobs16:04
sitaram lightcap: do you already have a repo on the desktop? if so: git push ssh:you@deskop:/path/to/repo localbranch:branch-from-laptop16:04
_Vi lavamind, Yes, git merge --squash.16:04
lavamind Pieter, I find that --squash doesn't actually commit the changes, using it I would have to specify a log message manually, I'd like it to be automatic16:04
lightcap sitaram: yeah, I do. though it doesn't have the "orders" branch...16:05
saurabhverma3 left16:05
_Vi kishore_, Use subtree merge strategy?16:05
drizzd_ kishore_: you don't need any subprojects any more. You put everything into one project and if you want to work on a subdirectory you simply checkout the subdirectory and nothing else.16:05
reprore_ left16:05
sitaram lightcap: so just do what I said; I was a little verbose in naming stuff to make it clear but feel free to ask for details16:05
M_J_G left16:06
drizzd_ checkout/clone, etc. It would be just like CVS in that respect.16:06
naeu left16:06
reprore joined16:06
shadowhand joined16:06
voker57__ left16:06
lbt left16:07
lighthead left16:07
Octalot left16:07
lightcap sitaram: I thought that would work too; I tried it earlier. but I get error: Bad port ''16:07
even though I can ssh with no problem to that machine16:07
kishore_ drizzd_: So yes i will be able to checkout a part of the repo but that still does not provide for something like svn:external when ProjectA depends on ProjectB16:07
ntoll left16:07
lightcap oops16:08
the ssh url was bad. wierd.16:08
galderz joined16:08
gaveen joined16:08
sitaram lightcap: bad port means your ssh is not working; you'll have to get that going before worrying about git16:08
lightcap thanks sitaram, evidently it doesn't like a colon before the path16:08
no, it works, but the url ssh://host:/path/to/repo suggests a port :-)16:09
spearce joined16:09
sitaram lightcap: man git-clone has lots of examples; I can never remember the syntax and often look there16:09
Gitbot lightcap: the git-clone manpage can be found at http://git.or.cz/man/git-clone16:09
lightcap thanks again, it's working now.16:09
sitaram lightcap: also, do you know about "remotes"?16:09
lightcap yeah, I use github mostly :-)16:10
except for these weird edge cases.16:10
sitaram lightcap: so just set a remote for your desktop once; never worry about remembering the syntax16:10
Fullmoon left16:11
sitaram I'm a great fan of putting all user+host+port in ~/.ssh/config, and then using the remote URL just for the actual repo path16:11
Pieter I'm a huge fan of hazelnuts16:11
kishore_ drizzd_: narrow and sparse clones do help to keep the checkout of only those files that are needed but for true distributed nature i would imagine that somehow the blobs of the subproject should be alongside the superproject blobs16:11
ProperNoun left16:11
drizzd_ kishore_: I don't know what svn:external does. But if you simply want to add project A to project B, then subtree merge is the perfect solution.16:12
kishore_ and intelligently cloning out the right checkout in the right path as needed when changing branches in the superproject16:12
sgrimm left16:12
lavamind how can I do a git merge --squash that still commits the changes automatically after the merge16:13
galderz left16:13
lavamind using git merge --squash --commit doesn't actually commit16:13
drizzd_ kishore_: I guess I don't understand the problem you're having after all.16:13
name left16:13
MisterN joined16:14
kishore_ drizzd_: subtree seems to be the best way for me currently but i could only hope there was something better16:14
dmlloyd left16:14
kishore_ drizzd_: shall i explain?16:14
lightcap hmm. confused again. So I just committed the changes on the "order" branch. Then I pushed to my desktop "order" branch and a git status on the desktop shows the same files I just committed as needing to be committed?16:16
Ilari lightcap: $faq non-bare16:16
Gitbot lightcap: Pushing to non-bare repositories is discouraged. See http://git.or.cz/gitwiki/GitFaq#non-bare16:16
lightcap ah. well shit.16:17
kishore_ Lets say i am working on ProjectA in the master branch and i now want to add feature to create a featureX branch...16:17
Ilari Why would narrow clone obsolete submodules? Submodules can be used for tree-to-commit linkage too.16:17
Fullmoon_ joined16:17
lightcap Ilari: well, what should I have done then to share the changes? pull?16:18
doener left16:18
kishore_ now featureX depends on a certain library (libraryForX) that is another project16:18
doener joined16:18
drizzd_ kishore_: I'm a little busy right now, so it may take a while for me to respond.16:18
kishore_ drizzd_: thats fine. Should go on or just leave it at this? I could send a mail to the lists explaining the limitations of subtree and submodule16:19
drizzd_: thanks for your time though :)16:19
Ilari lightcap: Or seperate bare repo and push to that.16:20
sunoano joined16:20
_Vi left16:20
lightcap ok, how come I can always push to github though, isn't that essentially what I was trying to do (but going to my own server, not github)?16:21
tomoj lightcap: github has a bare repo16:21
gebi some form of tracking submodule would be nice, not tied to a specific sha1d but e.g to master/HEAD of the repo16:22
ianmcorvidae joined16:22
drizzd_ kishore_: if you have an interesting problem, I'm sure you will get responses on the list.16:22
lightcap okay, I'm clearly lost on terminology.. time to google :-)16:22
asksol_ left16:22
ciskje left16:23
kuadrosx joined16:26
rafael_lorandi left16:26
lorandi joined16:27
sitaram left16:27
ericindc left16:27
dmlloyd joined16:28
stephenjudkins joined16:29
kn1ttl joined16:29
cmarcelo joined16:29
boto left16:30
Alinermedia joined16:30
Cromulent joined16:32
willb joined16:33
kishore_ left16:34
shruggar left16:34
shadowhand left16:34
bleything joined16:35
Juan__ left16:35
machrider joined16:35
WinterWeaver left16:36
machrider is there any way to customize the behavior of the 'clone' operation that is done via git submodule add/update?16:36
for example, clone supports a --depth option, can i somehow get that passed in?16:37
Fullmoon_ left16:38
ianmcorvidae|alt left16:39
icwiener joined16:43
Chillance left16:43
knitt1 left16:45
ericindc joined16:47
samphippen can git ignore the local repository in any way?16:49
like svn commit16:49
wereHamster samphippen: no. why would you want to do that?16:49
samphippen to reduce the number of steps required to get code onto the internet16:50
WinterWeaver joined16:50
marc_kdab left16:51
wereHamster oh come on, typing in 'git push' once a while isn't that hard, is it?16:51
samphippen git commit -m and git push is two steps though16:51
my friend is complaining that svn has less steps16:51
I was wondering if there was a way to reduce the number of steps16:51
wereHamster usually you do more then one commit before you pus16:51
tomoj two steps is better than one in this case16:51
__iron joined16:52
cpg joined16:53
drizzd_ samphippen: you can certainly introduce a new command which does "git commit && git push", but that won't solve your problem, because a push can be rejected if something else was committed in between16:53
in which case you have to merge16:53
Derander joined16:54
aziz left16:55
cardioid samphippen: Tell your friend that git is not svn16:56
ericindc left16:56
mattikus joined16:56
mkemp left16:56
DrAk0 joined16:58
drizzd_ well, he has a point16:58
if you have a really simple development scheme, which goes like16:58
edit; commit; edit; commit16:58
with some parallel development, but very modularized, so there are never any conflicts or even dependencies16:59
then you will have to do some more work with git with little gain16:59
you have edit; commit; push; -> rejected, oh no, git pull; git push; edit; commit; ...16:59
bugfux left17:00
qhoxie joined17:00
nurey joined17:01
drizzd_ samphippen: so I suppose svn commit in git would be "git commit -a && git pull && git push" -- something like that17:01
reprore left17:01
ceyusa left17:01
drizzd_ although if you do that, I would recommend using git pull --rebase instead17:02
reprore_ joined17:02
Ilari Actually, its more conservative in merging (like git checkout without -m). But still can result something broken.17:02
icwiener_ joined17:04
texel joined17:04
drizzd_ Ilari: what do you mean? you can always abort if rebase goes wrong17:05
Ilari drizzd_: You can't abort SVN commit after the automatic merge results something really broken.17:06
drizzd_ Otherwise I always considered rebase to do pretty much the same as a merge, especially if there is only one commit involved downstream.17:06
Ilari: oh, right. I didn't understand what you meant with "it" :-)17:07
smoofra so what are junios diffirent branches? (next, maint, pu)?17:07
drizzd_ there should be some documentation in the todo branch17:08
Alinermedia left17:08
drizzd_ smoofra: git show todo:MaintNotes17:09
git show origin/todo:MaintNotes, rather17:09
but the short version is maint: bugfixes, master: features for the current release, next: features for the next release, pu: everything else17:10
bobesponja joined17:11
whaley joined17:12
naeu joined17:16
icwiener left17:18
reprore_ left17:18
reprore joined17:19
aziz joined17:21
DrAk0 left17:22
lavamind Anyone using Gitorious care to comment about it? I'm using Github right now, but moving to an Floss-based service is appealing17:22
Cromulent left17:23
JasonWoof gitorious is great17:23
I've only done basic stuff so far, but I've been quite happy17:24
AkumaStreak joined17:24
JasonWoof they added most of the bling people were wining17:24
and they seem responsive to feedback17:24
lohrun left17:24
lavamind yeah I see they offer a project wiki17:24
JasonWoof I sent in a patch to display the year in dates on gitorious.org and it was merged within a day, and the website was updated in about a week17:25
tanuki joined17:25
cedricv left17:26
lavamind interesting17:26
tanuki I have stashed changes that I want to reapply. However, there are some (trivial) conflicts in some of the files; I want to have the existing version take precedence in the merge rather than conflicting. Is there a way to do this easily, or do I have to manually resolve the conflicts?17:26
lavamind what do you think about the fast the gitorious uses wrappers instead of a full implementation17:26
JasonWoof I like the presentation of projects on gitorious much better. there's clear links to the main author, website, wiki, etc17:26
lavamind (as github)17:26
cedricv joined17:27
JasonWoof huh?17:27
ignas left17:27
sakyamuni joined17:27
lavamind « There's also the fact that they rewrote the Git server in Erlang and the Git client in Ruby, which gives them much more stability than the typical commandline wrappers that other Rails-based Git repository interfaces (including Gitorious) use. »17:28
taken from http://stackoverflow.com/questions/78991/why-is-github-more-popular-than-gitorious17:29
I'm not sure what's meant by "stability" though, codebase stability or runtime stability ... ?17:29
JasonWoof no idea17:30
never heard of gitorious crashing or anything17:30
stephenjudkins left17:30
JasonWoof I don't see how it really matters what languages were used to implement github, since they won't release the code17:31
tomoj I think the point was just that they wrote custom shit to deal with the large volume17:32
rektide they've learned that posting about how awesome the github server code is doesnt earn them any medals17:32
took em long enough17:32
cloudhead joined17:34
JasonWoof I'd be happy to get all woogly googly about the code if they release it under the agpl or something17:34
lavamind right, it's true any claim Github could make about its closed server software is basically unverifiable...17:34
cilly joined17:35
whaley left17:35
harinath left17:36
JasonWoof gitorious looks nice, works well, isn't so cluttered, and is responsive to feature requests (well, at least feature requests with nice patches anyway)17:36
smoofra projects that aren't responsive to feature requests with nice patches seriously annoy me17:37
i wrote a few bugfixes and a nifty feature patch for sbcl a year ago17:37
and they pretty much just ignored me17:37
not even a "no, i don't like your patch because of X"17:37
JasonWoof bugger. least they can do is say "thank you for your patch, I think blah blah blah"17:38
WALoeIII joined17:38
tango_ joined17:39
MisterN lol, github and stable in one sentence?17:39
wereHamster MisterN: why? Have you had problems with github in the past?17:40
MisterN wereHamster: yeah it had some instability17:40
granted, it works most of the time, but unstable enough for me to be happy to also host the project on sourceforge17:40
jaeckel left17:40
MisterN github's graphs are also constantly broken17:40
ankit9 joined17:41
montylounge joined17:41
JasonWoof gitorious is a little rough around the edges, but I think it has a nice feature set and good overall usability. So I'm happy to use it now. I trust it'll be fixed over time, especially now that they have trolltec invested in its success17:41
deanh left17:41
smoofra i'll take rough around the edges and open source over polished software-as-a-service any day17:42
ankit9 left17:42
ankit9 joined17:42
smoofra if only there was a open source replacement for google reader17:43
i'd be happy17:43
deanh joined17:45
tbf joined17:45
rvhia joined17:45
bugfux joined17:46
tbf_ left17:46
rvhia how do i get a file at certain date?17:46
lavamind thanks for sharing your thoughts about Gitourious/Github, I think it's fairly obvious we should support Gitorious instead of paying for Github17:46
ankit9 left17:46
ankit9 joined17:47
tomoj "we should"?17:47
lavamind take it as a must, if you wish :)17:47
julm left17:49
charon rvhia: that's not particularly well defined in the face of nonlinear history; there may be many commits around the given time with many different versions of the file17:49
julm joined17:49
nurey left17:50
bcarlyon|laptop joined17:51
glommer left17:53
bcarlyon|laptopBarryCarlyon17:53
JasonWoof rvhia: you might run gitk (make sure you edit the view so it's sorting by date) and scroll down to the date, and choose a commit. You can grab the sha1 for that commit, or tag it, and grab the file with the commandline17:53
boto joined17:53
reprore left17:54
DaveIngram left17:55
hi3 left17:56
rvhia the issue i have now is that one file seems to screw up, i want to find out when it was changed17:56
in svn, i can just pull a certain date17:56
nurey joined17:56
ankit9 left17:57
ankit9 joined17:57
whaley joined17:58
reprore_ joined17:58
ankit9 left17:58
jpieper left17:58
marc_m joined17:59
vermila left18:00
JasonWoof rvhia: use gitk, you can have it hilight all commits that changed a certain file18:00
marc_mmarc_kdab18:00
JasonWoof also, I think you can do "git log [filename]" to get a log for just commits that changed that file18:00
k0001 joined18:00
smoofra rvhia: git rev-list --since='Jun 1' --until='Jun 15' master18:00
JasonWoof rvhia: or you can use git-bisect18:01
smoofra rvhia: that'll list the commits in the first half of june that are ancestors of master18:01
jmesnil left18:01
kumbayo joined18:01
robinr joined18:01
cilly left18:07
ghostrunners joined18:09
Stravy joined18:11
docwhat joined18:14
ghostrunners so im pushing a new repo onto gitosis over my lan (git push origin master:refs/heads/master), and my windows git.exe keeps crashing, how do I find out why?18:15
windows flames accepted.18:15
charon ghostrunners: GIT_TRACE=2 ?18:16
Ilari ghostrunners: Possible log messages? Messages from client side?18:18
ghostrunners ack, sorry fellers - dumb error on my part - i forgot to add and commit my files prior to pushing, doh!18:19
idi0t and windows, what a combo! :)18:19
rylarrylar_off18:19
Ilari ghostrunners: But that shouldn't cause git.exe to crash...18:20
_Vi joined18:20
rylar_offrylar18:20
corni lol18:20
ghostrunners Ilari: I'll try to recreate the error by pushing remotely without add/commit files first18:22
reprore_ left18:23
reprore joined18:23
tvw left18:24
_Vi left18:25
tono left18:26
bcarlyon|laptop joined18:27
ghostrunners Ilari: ok, easily, recreated it - created directory on localhost, added some files, ran >git init, ran >git remote add origin git@somehost:someproject.git, then ran >git push origin master:refs/heads/master and it crashes on windows18:27
saurabhverma joined18:27
reprore left18:30
mefesto joined18:30
ghostrunners I have a log file produced by the error, if you think it will help, i'll pastebin it for18:30
reprore joined18:31
montylounge left18:32
sakyamuni left18:33
reprore left18:33
reprore_ joined18:34
_Vi joined18:34
rylarrylar_off18:34
lavamind left18:35
sdboyer joined18:36
designs703 joined18:37
nurey left18:37
julm left18:38
designs703 How can I force a pull to write? I edited a config file for this particular app, and I want to pull and overwrite the changes I made to that file18:38
I get a fatal cannot merge error as a result right now18:38
kobani joined18:39
julm joined18:39
ghostrunners left18:40
uau designs703: i'm not sure whether you can get the pull command to do that, but you can run 'git reset --hard' first to destroy any changes you have in the local tree (in all files, not just conflicting ones)18:40
designs703 uau, sounds hot, thanks18:40
smoofra designs703: do you want to keep the history of the changes you made?18:41
designs703 smoofra, no, I don't need them18:41
it was just because the dev had root with no password as the DB credentials18:42
smoofra yea then just git reset --hard to thow them out18:42
designs703 got it18:42
johndoigiii joined18:43
designs703 left18:43
reprore_ left18:44
jonshea joined18:45
julm left18:45
julm joined18:46
docwhat left18:46
reprore_ joined18:46
reprore_ left18:46
reprore joined18:47
hacim joined18:48
hacim if I do: git checkout --track -b werise origin/werise shouldn't that branch automatically pull from there?18:48
BarryCarlyon left18:49
loincloth joined18:49
saurabhverma1 joined18:50
_Vi hacim, Yes, it probably should.18:50
hacim _Vi: thats why i'm confused, because when I do a git pull it complains, "You asked me to pull without telling me which branch you..."18:50
_Vi hacim, Is this branch currently checked out?18:51
DrAk0 joined18:51
justin-george joined18:52
uau joined18:52
hacim _Vi: yes, I'm currently in it18:52
_Vi hacim, What is in .git/config?18:53
saurabhverma left18:54
DrAk0 left18:54
hacim _Vi: remote = origin merge = refs/heads/werise18:55
camwest joined18:56
bcarlyon|laptop left18:57
BarryCarlyon joined18:58
maxb_ joined18:58
_Vi hacim, Is git recent (1.6) version?19:00
bx2 joined19:02
corni_ joined19:04
abizern joined19:05
naeu left19:06
julm left19:07
julm joined19:07
c0m1 joined19:08
marc_kdab left19:09
c0m1 i've been using git for a few weeks now. I heard it was possible to track a subversion repo from a git repo. Could someone give me rough idea of how that works before I go try to figure out the details19:09
mefesto c0m1: git-svn19:09
_Vi c0m1, If starting from scratch, it is "git svn clone [-s] URL".19:09
c0m1 _Vi: and if I cloned it, then I could push my master branch back to the subversion repository?19:11
johndoigiii left19:11
_Vi c0m1, Yes, you may push (dcommit) current branch back.19:12
CardinalNProperNoun19:12
dasil003 left19:12
_Vi c0m1, But your svn branch will be rebased every pull from (and push to) svn.19:13
btanaka joined19:13
c0m1 _Vi: rebased?19:13
jnareb joined19:13
_Vi c0m1, Yes, recommended way of working with git-svn is using "git svn rebase" to fetch changes and 'git svn dcommit' to publish changes.19:13
Derander left19:14
sjzzalx joined19:14
_Vi c0m1, I mean your local git-svn branch will be rebased, not that in public svn repository.19:14
c0m1 _Vi: thx. I'll start looking through the help page now19:16
ProperNoun left19:17
jnareb What do you think about running Git User's Survey 2009?19:18
My last email about proposed questions didn't receive any answers... :-(19:18
texel left19:18
_Vi jnareb, If it will be, I will answer questions in it.19:18
reprore left19:19
jnareb _Vi: do you have any suggestions about proposed answers? http://mid.gmane.org/200906171959.13051.jnareb@gmail.com19:19
_Vi jnareb, Are questions will be the same as in Git User's Survey 2008?19:20
jnareb And where announce it (besides git mailing list, #git channel and #git channel topic, Git Wiki FrontPage, Git Homepage (http://git-scm.com), repo.or.cz, GitHub / GitHub Blog and Gitorious(?19:21
_Vi: no, it will be much shorter (less than 30 questions last count, only three free-form essay questions; compared to 60 in 2008 survey)19:21
corni left19:22
corni_corni19:22
_Vi jnareb, It is no problem for me to answer even 120 questions.19:22
texel joined19:23
nurey joined19:23
_Vi jnareb, In previous survey the number of non-answers correlated with number of the question.19:23
jnareb, May be include all necessary questions, but leave user ability to leave it prematurely? Important questions first, optional last.19:24
ereslibre joined19:25
maxb left19:26
plediii_ left19:26
jnareb _Vi: actually if you use survey from a JavaScript-capable browser, with JavaScript and cookies enabled, Survs.com uses cookies to identify your individual response, and you can always come back later to correct or finish survey questions19:26
_Vi: which wasn't unfortunately mentioned19:27
_Vi: if you use version for non-JavaScript, you unfortunately loose this capability...19:27
people complained about number of questions, so I went to reduce number of questions in survey (and number of answers in questions)19:28
_Vi jnareb, I mean not to count "I'm tired of survey, I'm escaping" as non-answer of all remaining questions.19:28
saurabhverma1 left19:29
naeu joined19:29
abizern left19:29
jnareb _Vi: yes, I understand19:30
_Vi jnareb, BTW GUS2008 results was the source from which I've discovered some previously unused features of git (like "git add -p").19:31
jnareb _Vi: although if people have known that you can submit incomplete survey, and later return to it and finish it at later time, there would be less "abandomenets"19:31
boto left19:31
_Vi jnareb, I think if people can stop any time without any harm to survey, it may be almost infinite.19:31
jnareb _Vi: for now, the question about "What git commands do you use?" is not present in the survey19:31
_Vi jnareb, This question I considered The Main Question Of Survey that time.19:32
fujin left19:33
dasil003 joined19:33
jceb joined19:33
WALoeIII left19:35
Cromulent joined19:38
mtvee joined19:38
flazz left19:39
flazz joined19:39
psoo joined19:40
Weaselweb_ joined19:42
corni_ joined19:42
jdavis left19:43
Weaselweb left19:43
thiago_home joined19:43
gambler_ left19:44
rleigh joined19:44
jdavis_ left19:44
texel left19:44
Weaselweb_Weaselweb19:44
sjzzalx left19:44
boto joined19:45
ciupicri joined19:45
gambler_ joined19:46
jnareb Well, I can always add it, and yet fit within 30 questions (even counting two parts of question separately)19:47
BTW. I think that e.g. difftool is the new invention...19:47
jdavis joined19:47
ciupicri is there some guide regarding storing configuration files in git? I was for example thinking of having at least 2 branches: one branch with the original configuration files distributed with the packages (upstream) and one with my customization. So when the files changes upstream, I could apply those changes to my files. Is this a bad idea?19:47
jdavis_ joined19:48
jnareb there is a problem storing configuration files in version control (for code), period. I tink most commonly used solution is to store skeletons / templates.19:49
ciupicri jnareb, so git shouldn't be used for this? Is this what you're trying to tell me?19:50
Nugget what's the problem with using version control for config files? I've happily done that for over a decade and wouldn't have it any other way19:51
samphippen left19:52
jnareb Nugget: I'm not talking about using version control for config files (sorry ciupicri if it is what you wanted to do; take a look at etckeeper and IsiSetup), but about storing config files in "code" repositories.19:53
ntoll joined19:53
Nugget ah, gotcha. yeah, that can be a real headache19:53
julm left19:53
julm joined19:54
jnareb ciupicri: and take a look what Conary and/or vcs-pkg tries to do; it is from what I understand automatic rebasing of your changes (not merging, rebasing) on top of package changes.19:54
ciupicri: see the likes of StGit, Guilt (patch management), and TopGit (topic branch management)... although that can be overkill.19:54
rlb3 joined19:54
jnareb (IIRC Conary uses bazaar, or own VCS)19:55
dasil003 What's the command to just output the current commit hash?19:55
ciupicri jnareb, btw this idea came to me from mergemaster http://www.freebsd.org/cgi/man.cgi?query=mergemaster&apropos=0&sektion=0&manpath=FreeBSD+7.2-RELEASE&format=html and etcupdate http://netbsd.gw.com/cgi-bin/man-cgi?etcupdate++NetBSD-current19:55
jnareb, I'll check those projects, thank you19:55
madduck jnareb: rebasing is unlikely to be useful in a team context (re: vcs-pkg)19:56
cedricv left19:56
madduck dasil003: git show-ref HEAD /19:56
dasil003 madduck: thanks19:56
jnareb ciupicri: ask madduc, IIRC he works on vcs-pkg (which includes problem of config files in packages)19:58
smoofra oh wow19:58
topgit may be exactly what i need19:58
does it have a homepage somewhere or just the repo.or.cz page?19:59
madduck smoofra: no homepage19:59
smoofra: best documentation is probably in the Debian package19:59
smoofra: there is #topgit though19:59
ciupicri: i am about to head out, so maybe #vcs-pkg/oftc or the mailing list would be best19:59
corni left19:59
ciupicri madduck, ok20:00
cpgcpg|biab20:00
Cromulent left20:00
ciupicri madduck, I'll read about the project and ask if I have any questions/ideas20:00
tbf left20:00
jnareb madduck: oftc?20:04
smoofra oh man it is. it its exactly, exactly what i need20:04
Moult left20:05
s0ber_ joined20:05
madduck jnareb: irc.oftc.net20:05
nurey left20:07
corni__ joined20:09
jsbmsu joined20:09
_Vi left20:11
jnareb Ah20:11
_Vi joined20:11
mefesto left20:12
tatsuyao joined20:13
jelly-bean joined20:13
juanjoc joined20:14
jelly-bean when specifying ranges how can i say the range from 6f0088 to aff0c5220:15
Tuomas left20:17
corni__corni20:17
s0ber left20:18
cilly joined20:19
drizzd_ jelly-bean: commit..commit20:19
juanjoc left20:19
cilly left20:19
khmarbaise joined20:20
bobmcw left20:21
ben_h left20:22
stephenjudkins joined20:24
rlb3 left20:24
rlb3 joined20:24
KiBi joined20:24
xyz joined20:25
dansan|afkdansan20:25
corni__ joined20:25
jelly-bean drizzd_: thnx20:26
corni_ left20:26
kn1ttl i just imported a project with git-svn, and now i want to delete some branches, but can't get it to work20:27
there's a branch remotes/hacking … how do i delete it?20:27
tvw joined20:28
jelly-bean left20:28
kn1ttl git branch -D hacking (or remotes/hacking) results in a: branch not found20:28
resmo_resmo20:30
neoeinstein left20:30
Grahack joined20:31
neoeinstein joined20:31
tchan left20:32
mefesto joined20:32
psoo left20:32
tchan joined20:32
neoeinstein left20:32
psoo joined20:33
tbf joined20:33
bugfux left20:33
Ilari Why are you trying to delete remote tracking branch?20:34
kn1ttl: ^^20:34
jnareb kn1ttl: try "git branch -r -D remotes/hacking"20:34
jmou joined20:34
kn1ttl Ilari: migrating to git. and project owners want to remove old cruft20:34
smoofra so i've noticed that a lot of things that used to be shell scripts have been rewritten in c20:34
kn1ttl unmaintained branches and such20:34
jnareb kn1ttl: or "git remote <remote> prune" if you want to delete branches which vanished (got deleted) on <remote>20:34
smoofra is there some sort of campaign to purge all the shell scripts or something?20:35
gaveen left20:35
kn1ttl jnareb: it's without remotes/ ;) but it worked. thanks a lot20:35
Ilari kn1ttl: You constructed authors file?20:35
kn1ttl hm?20:35
LylePerl left20:36
jnareb smoofra: it is called builtin-ification... and yes, there is one. Shell scripts are less portable (e.g. MS Windows) and have worse performance. Same is tru to lesser extent with Perl scripts.20:36
Ilari kn1ttl: Otherwise the usernames look like foobaz <foobaz@538395836> or some junk like that.20:36
kn1ttl ok20:36
no, i haven't20:36
how can i do that?20:36
Ilari kn1ttl: Construct one (man git-svn should document the format) and then rerun clone.20:37
Gitbot Ilari: the git-svn manpage can be found at http://git.or.cz/man/git-svn20:37
Ilari stupid bot.20:37
Grahack left20:37
kn1ttl xD20:37
rerun clone?20:37
aaach20:37
ciupicri jnareb, I've looked a bit tat vcs-pkg, but I don't think that it's for me. I'm not creating distros :-)20:38
mw left20:38
Ilari kn1ttl: Also, you might want to fix the merges if any. For that, metadata might be useful (but it still needs to be removed).20:38
kn1ttl there are merges, but i guess fixing them would be too complicated *g*20:39
Ilari kn1ttl: Actually, the most complicated part of fixing a merge is finding what commit was actually merged in.20:39
kn1ttl will that involve rebase a lot?20:40
Ilari kn1ttl: No rebase. grafts and filter-branch.20:40
bentob0x left20:40
brizly joined20:40
neoeinstein joined20:41
kn1ttl i think i will just leave _dirty_ merges in the repo20:41
rlb3 left20:41
stephenjudkins left20:41
ciupicri left20:42
Ilari kn1ttl: Not an option if devevelopment on those branches continues. You need to fix at least their last merges or merging them isn't going to work.20:42
jnareb ciupicri: I was thinking more about how vcs-pkg deals with configuration files when present in package20:42
kn1ttl [22:42] <Tronic> I don't care all that much about the history. xD20:42
corni left20:42
kn1ttl Ilari: i can still do that at a later point, right?20:42
Ilari kn1ttl: No, it can't be done later. And without it, deleting branches causes commits to be lost.20:43
jnareb wonders if git-svn would support svn:mergeinfo from Subversion 1.5 (and svnmerge / SVK merge markers)20:43
rlb3 joined20:43
corni__ left20:43
kn1ttl Ilari: loosing commits is not a problem. as i said … i'm removing old cruft20:44
Ilari AFAIK, svn:mergeinfo isn't suitable. SVK merge markers at least have suitable sematicts.20:44
julm left20:44
khmarbaise left20:44
Ilari kn1ttl: Whereas with SVN you can manually specify what range to merge (get it wrong and you get horrible conflicts). With git, that isn't an option. git merge always autodetects what to merge.20:45
David-T_ joined20:45
kn1ttl ok, so i really have to play a lot around20:46
Ilari kn1ttl: And without proper history, that autodetection goes wrong -> horrible amount of conflicts.20:46
David-T left20:46
kn1ttl ok20:46
my only option then …20:46
Ilari kn1ttl: It probably isn't difficult to construct a script that takes in pairs of commits and spits out graft data for fixing the merges.20:46
kn1ttl for me it is ;)20:47
Ilari kn1ttl: Probably most difficult thing in it is how to parse lines containing two items seperated by space or something.20:47
kn1ttl http://www.simplisticcomplexity.com/2008/03/05/cleanly-migrate-your-subversion-repository-to-a-git-repository/ that looks good20:48
susen joined20:48
jceb left20:49
susen Enter text here...h 013120:49
halloooooooooooo20:49
jceb joined20:49
Ilari ...20:49
David-T_David-T20:49
kn1ttl ok, but nothing mentioned about grafing merges20:49
susen 0131j20:49
Ilari kn1ttl: Doesn't get branches besides trunk.20:50
susen left20:50
kn1ttl ya ok. i'll add -s option20:50
jnareb <Ilari> AFAIK, svn:mergeinfo isn't suitable. SVK merge markers at least have suitable sematicts. <--- Why the new shiny feature of Subversion 1.5 is not suitable? How can one screw up something so simple?20:50
madduck jnareb: I think the problem is inherent deep down in the design of SVN20:53
anyway, I understand you don't want to discuss this; neither do I.20:54
In fact, I've been meaning to go to bed for over an hour!20:54
madduck swear20:54
madduck s20:54
Ilari Simpler than I expected: "while read commit merged ; do echo `git rev-parse $commit` `git rev-parse ${commit}^` `git rev-parse ${merged}` ; done".20:54
shadowhand joined20:55
kn1ttl thanks … no way i could've come up with that myself ^^20:55
Ilari That eats commit and merged in pairs and spits out data suitable for grafts data.20:55
sea-gull left20:56
kn1ttl so ok. i think i have my authors file20:56
loincloth left20:56
Ilari kn1ttl: But that leaves the harder step: Actually finding what what was merged and where.20:57
jnareb good night madduck20:57
apeiros_ left20:57
kn1ttl luckily there were only a few merges20:57
jnareb I have thought that in Subversion 1.5 they finally solved (part) of problem by adding merge tracking to SVN core...20:57
kn1ttl ok, importing again20:57
Ilari kn1ttl: The metadata is helpful in finding the merged in commits. But it must then be stripped later. Fortunately, "burning in" the grafts requires filter-branch anyway.20:58
mtvee left20:58
Ilari jnareb: Apparently it didn't...20:58
bugfux joined20:58
kn1ttl Ilari: so, when first cloning i should pull metadata too. because in this far too simplified example they use --no-metadata20:58
cannonball left20:59
julm joined20:59
Ilari kn1ttl: Metadata is useful for figuring what commit corresponds to what SVN revision. And merge messages might refer to SVN revisions.21:00
jnareb Ilari: what are probmes with it? (I have only read RelNotes for SVN 1.5, and noticed only that you have explicitely use it, and that trunk is treated special)21:00
nurey joined21:00
kn1ttl hm. when inspecting history with gitk i can see merges21:01
how come?21:01
boto left21:01
dasil003 you can see everything in gitk21:01
kn1ttl dasil003: git repo imported with git-svn21:02
Ilari kn1ttl: Eh? Two lines going downwards from commit? Can you put a screenshot somewhere+21:02
dasil003 sorry, i just love gitk21:02
kn1ttl even two parent commits21:02
nurey_ joined21:03
boto joined21:03
kn1ttl http://knittl.is-a-geek.net/public/gitk.svn.png21:03
pulpfiction joined21:04
bdiego left21:04
sjzzalx joined21:04
sjzzalx is it reckless to use git reflog a lot?21:05
brizly left21:05
sjzzalx and reset to refs listed there?21:05
Ilari kn1ttl: It is merge. But I noticed something: The first parent seems to point duplicate of commit in the second chain. That's not good.21:05
kn1ttl LOLZ? there are different initial commits21:06
jmou left21:06
kn1ttl ah ok. for the other folders beside btT21:07
Ilari kn1ttl: Not good.21:07
kn1ttl Initial revision21:07
21:07
21:07
git-svn-id: https://ultrastar-ng.svn.sourceforge.net/svnroot/ultrastar-ng/trunk/UltraStar-ng@2 a3f66644-493e-0410-89de-92bcaa84653621:07
smoofra i don't really understand what git-reflog is supposed to accomplish21:08
nurey left21:08
deanh left21:08
smoofra i mean, i can read the man page, i see what it does, i just don't understand why you would ever want something that did that21:08
kn1ttl smoofra: delete/reset branches21:08
with reflog you can go back21:09
wereHamster smoofra: one often used feature is git reset --hard HEAD@{1}, eg reset to the HEAD to where it pointed before the last command21:10
rlb3 left21:10
smoofra why not just HEAD^ ?21:10
Ilari kn1ttl: What the point of all this is: One can make the history like it occured when migrating (also some parts might be required by future merges). But these changes are almost impossible to do after migrating.21:11
rlb3 joined21:11
wereHamster smoofra: for example after a rebase, HEAD^ will not be the same as HEAD@{1}21:11
cpg|biabcpg21:11
jceb left21:11
eletuchy left21:12
kn1ttl Ilari: what do you mean?21:13
camwest left21:13
_Vi left21:13
Ilari kn1ttl: Altering published history is very nasty operation.21:13
kn1ttl yeah, all operations are done locally21:13
qrush left21:14
wsc joined21:14
qrush joined21:14
_Vi joined21:16
Ilari kn1ttl: All migration operations are local except the final push to public repo... And that's the final step.21:16
boto left21:16
smoofra oh i guess i get it. reflog is just for undoing local mistakes. actually that is easier than searching for the commits you want with gitk or git-lost-found21:17
wereHamster smoofra: exactly21:17
jnareb smoofra: reflog is local history of where branch tips pointed to (e.g. if you do "git reset --hard HEAD^, then HEAD^ != HEAD@{1})21:17
smoofra: it is generalized ORIG_HEAD (to get out of mistakes)21:18
Sigma left21:18
sjzzalx Yeah. Is that a bad idea, should I be really careful, or not?21:19
jnareb unfortunately the idea of Attic fo reflog for deleted branches didn't take (there is reflog for HEAD, but it might be not enough if one uses "git branch -D").21:19
sjzzalx that = resetting to things in reflgo21:19
jnareb sjzzalx: if you don't use it when you have uncomitted changes -- not so much (resetting to item in reflog is saved in reflog; think of reflog as a "journal" of operations on given branch, in the sense of journalled filesystem)21:20
tbf left21:23
nurey_ left21:24
sakyamuni joined21:25
break joined21:28
mefesto left21:29
tanuki left21:29
rlb3 left21:29
Cromulent joined21:29
doener left21:30
jayallen left21:31
qrush left21:32
julm left21:34
julm joined21:35
bobmcw joined21:35
kennethlove joined21:35
jayallen joined21:35
bobmcw_ joined21:36
eddyp joined21:38
LiamH left21:40
bartocc joined21:44
icwiener_ left21:44
bremner_ joined21:46
wereHamster smoofra: exactly21:46
sorry.21:46
julm left21:47
julm joined21:48
ctusar left21:48
btanaka left21:49
milluminu joined21:50
milluminu hihi21:50
_Vi left21:52
bobmcw left21:53
milluminu i just bought version control with git (oreilly) so i'm trying to rtfm21:53
so i created a git repo with remote origin to git://someurl/base.git21:54
and git ls-remote origin shows branches21:54
now how do I populate my directory with a specific branch from among those?21:54
mm_202 left21:55
dansan Hello wonderful people!!! If I screwed up because I typed "git reset HEAD~18" for some reason and meant "HEAD~2", how do I fast-forward 16 commits?21:55
bcardarella joined21:55
dansan I currently have "Your branch is behind 'origin/master' by 16 commits, and can be fast-forwarded." in git statys21:55
*git status21:55
Pieter milluminu: git fetch origin; git checkout --track origin/branch21:55
if your git is new enough21:55
ereslibre_desk joined21:55
sjzzalx dansan: I would just git pull/merge again and reset HEAD~221:56
milluminu thanks pieter21:56
sjzzalx if it's simple like that21:56
dansan sjzzalx: I have lots of local changes21:56
dansan is still a git newbie :(21:56
sjzzalx dansan, you have them now?21:56
or you reset them away?21:57
dansan oh yes, plus all of the changes from the previous commits to the actual branch21:57
Sorry, I did git reset --soft HEAD~1821:57
when I meant 221:57
sjzzalx oh, then that doesn't matter. --soft just checks for consistency, iirc21:57
dansan I wanted to edit a commit message, and somebody showed me that command yesterday21:57
cemerick left21:57
sjzzalx dansan, use git rebase -i instead21:58
bartocc left21:58
bugfux left21:58
sjzzalx or plain git rebase21:58
dansan thanks21:58
camwest joined21:58
eletuchy joined21:58
jnareb dansan: "git commit --amend"21:58
dansan what arguments for git rebase? 'origin'?21:58
njareb: thanks! ;)21:58
jnareb dansan: might be what you want21:59
eseidel_ joined21:59
dansan jnareb: somebody showed me a batch way to do it as well, that lets you choose "pick", "edit" etc, in vim, it's in my IRC log :)21:59
kn1ttl dansan: git rebase -i21:59
eseidel_ is this the proper place to ask git user questions? I'm trying to find the right git command to determine if has staged a delete (either in the index, or simply locally). I could parse git status, but I expect there is a better way to see if an individual file is staged for deletion22:00
johndoigiii joined22:00
dansan kn1ttl: "git rebase -i" along just gives me usage information22:00
ccaputo joined22:00
ccaputo left22:00
tomoj dansan: you need to get back to the right HEAD before you do anything else, I think22:01
jnareb eseidel_: for scripts you should use either git-ls-files or git-diff / git-diff-files22:01
jonshea left22:01
dansan tomoj: correct, and that will solve my problems22:01
hyperair left22:01
dansan tomoj: how do I do that? I'm 16 commits behind it22:01
tomoj I'm thinking something like 'git reset --soft HEAD@{1}' would work, but don't do that unless someone else says it's safe :)22:02
kn1ttl dansan: then git rebase -i HEAD~16 or something like that. depends on how many commits you want to edit22:03
dansan sounds like a job for tar czf ../sadhfoasjfw.tgz $(find -iname '*.c' -or -iname '*.h") loL!22:03
ahh!22:03
I only need to edit the 17th commit, commits 1-16 are from the repository22:03
dasil003 left22:04
tomoj dansan: don't do that22:04
sjzzalx dansan22:04
dansan, git pull22:04
stephenjudkins joined22:04
sjzzalx and yeah, don't edit commit already pushed22:04
dansan what does git pull do?22:04
kpreid_ left22:04
sjzzalx git pull fetches changes from origin and merges them with your local copy22:04
WinterWeaver left22:04
eseidel_ jnareb: git ls-files seems like the right diretion. thank you. "git ls-files -d deleted_file" doesn't seem to show me anything though. "git ls-files existing_file" works fine though22:04
dansan hmm, isn't there a way to simply "fast-forward" or re-commit?22:05
sjzzalx dansan: git pull will fast-forward you completely22:05
and then you can reset back to what you want22:05
dansan hah! git pull fails because a file has local changes22:05
sjzzalx but don't edit someone else's commit, that's a bad idea22:05
dansan error: Entry 'ANNOUNCE' not uptodate. Cannot merge.22:05
rlb3 joined22:05
dansan I never edit other people's commits!22:05
sjzzalx dansan: ok, dude, let's talk about this22:05
dansan hehe22:05
sjzzalx dansan: Right now, you're 16 commits behind. Do you or do you not have a bunch of changes you want to keep?22:06
dansan git status: http://www.pastebin.ca/147171022:06
I have a lot of changes i want to keep22:06
almost all are backed up, some are not22:06
(only about 20 minutes work not backed up)22:06
jnareb See you later22:07
jnareb left22:07
tomoj dansan: why does it say 156 commits?22:07
hyperair joined22:07
jerome__ joined22:07
dansan Jesus! after doing git pull it's saying 156!22:07
hatseflats left22:07
sjzzalx dansan: OK. So, tell me what you want to do.22:07
dansan ahh, probably because there are more commits that I haven't merged, crap! :(22:07
jdavis_ left22:07
sjzzalx You want to keep all of the changes you have?22:07
stephenjudkins_ joined22:07
dansan Yea22:07
sjzzalx and then get back to the tip on origin/master?22:07
dansan But only MY changes22:08
Except that after git pull, origin/master changed22:08
sjzzalx right, git pull will do that22:08
dansan because it updated with the repository.22:08
sjzzalx Yeah22:08
so, do you want to get back to the tip of origin/master with your changes?22:08
tomoj sjzzalx: won't 'git reset --soft HEAD@{...}' undo the soft reset from before?22:08
dansan I wasn't ready for that22:08
_Vi joined22:09
sjzzalx dansan: If you want to keep things exactly the way they are, don't do anything. If you want to get back to tip of origin, you have to do different stuff. Do you want to? And do you want your changes to go there with you?22:09
dansan I'm thinking about manually copying the files I modified, blowing everything away, etc :)22:09
kn1ttl there's git stash?22:09
ereslibre left22:10
sjzzalx tomoj: Yeah, if he checks the reflog he should be able to reset to any place he wants.22:10
whaley_ joined22:10
sjzzalx dansan: Why?22:10
dansan Well, I have to deal with any potential merge conflicts now, hopefully, there are none22:10
psoo left22:10
tatsuyao left22:10
sjzzalx dansan: Just tell me what you want to happen22:10
johndoigiii left22:10
ph^ joined22:10
sjzzalx Do you want to get to the tip of origin/master or not?22:10
dansan I would ideally like to get back to the condition I was in prior to typing "git reset --soft HEAD~18" when I meant "git reset --soft HEAD~2"22:10
tomoj dansan: so check the reflog and 'git reset --soft HEAD@{..}'22:11
sjzzalx dansan: ok. do git reflog, find what you're missing22:11
and then run the command tomoj pasted22:11
and is that all you want?22:11
whaley left22:11
whaley_whaley22:11
dansan what do I replace '{..}' with?22:11
bx2 left22:11
tomoj dansan: whichever entry in the reflog is the one you want22:12
sjzzalx dansan: You can replace HEAD@ with the real SHA, it's right to the left of it22:12
dansan ok :)22:12
sjzzalx i find that easier usually because it doesn't change22:12
tomoj dansan: and, again, don't edit a commit which comes before commits that are in the remote repository22:12
jerome left22:12
dansan tomoj: sorry, I would never do that :)22:13
tomoj: I still have a boat load of changes that aren't mine as locally modified files22:14
I suspect due to git pull22:14
porcnick joined22:15
eseidel_ I'm confused as to when "git ls-files -d" ever lists anything22:15
dansan git status says " Your branch and 'origin/master' have diverged, and have 2 and 140 different commit(s) each, respectively."22:15
eseidel_eseidel22:15
camwest left22:15
dansan I'll just copy my files and blow it all away (I'm cloned from a local repository anyway, no big downloads to start over)22:16
sjzzalx dansan: Yeah, because 140 commits happened between your changes and your last pull22:16
dansan hmm22:16
sjzzalx dansan: Well, make a backup, that's a good idea, just cp -Rv folder/ bakfolder/22:16
dansan: and after that go back to your real folder and try git rebase22:17
dansan oh, I already did that one :)22:17
joshsdc left22:17
sjzzalx you already rebased?22:17
fr|fr22:17
kumbayo left22:18
naeu left22:19
tomoj doesn't a merge that fails leave your index and working tree alone?22:19
dansan ok, I have a wine/git and a wine/git.dev. wine/git is where I originally cloned from the repository and my wine/git.dev I cloned using the wine/git so I could have two copies, one either unmodified or slightly modified and the other a playground...22:19
suman left22:20
dansan And I don't have to download the files twice22:20
So when I update, I usually git fetch && git rebase origin in my wine/git and then do the same in my wine/git.dev and do any 3-way merging needed22:20
sjzzalx tomoj: A failed merge puts your working tree up to the failure and then you're expected to fix it before moving on, if I remember right22:21
mattikus left22:21
sjzzalx but you can undo it easily with a git reset --hard HEAD~122:21
tomoj sjzzalx: unless you have local changes22:21
then what, git reset --merge HEAD~1?22:21
mattikus joined22:21
lymeca left22:21
dansan so actually, I did a "git format-patch --keep-subject -o out origin" earlier and I have the patch files for the two commits I made that appear to be preventing it from doing the rebase, so maybe I can revert those local commits and rebase will work22:22
sjzzalx tomoj: In that case I usually just stash, rebase, or branch, depending on what I need. From the man page, though, it looks like git reset --merge would work too22:22
mattikus left22:22
Derander joined22:23
sjzzalx dansan: resolve the merge error and git rebase --continue?22:23
pcapriotti left22:23
stephenjudkins left22:24
rlb3 left22:24
rlb3 joined22:24
rylar_offrylar22:24
hendry joined22:25
hendry i have trouble git clone git:// repo(remote: aborting due to possible repository corruption on the remote side.), though ssh:// works. Any ideas?22:25
dansan ok, I think I got it now. I did "git reset --soft" and gave the SHA of before I made my two commits, then I did "git reset" and it got rid of the "divergence" so now I'm going to commit everything in a dummy commit and rebase origin and that should work22:26
Ilari hendry: You sure both URLs refer to the same repository?22:26
Cromulent left22:26
kennethlove left22:26
dansan w00t! conflicts :)22:26
Sho_ left22:26
_Vi hendry, Network is OK? Remote git-daemon is OK?22:26
rlb3_ joined22:26
rlb3 left22:26
rlb3_rlb322:26
Weaselweb left22:27
MisterN left22:27
Pieter "Electronic Warfare Project Manager" -- I want to apply for that job just for the title22:27
bremner_ left22:27
eletuchy left22:28
dansan ok, thanks guys, I got it from here. This is just the part I didn't want to deal with just yet (the mergeing), but it doesn't look terribly bad22:28
eletuchy joined22:28
flazz left22:28
Ryback_ left22:29
Yuuhi left22:29
kpreid_ joined22:29
robinr spearce: there was a problem with the EGit renamee patch. You got the mail from bugzilla?22:29
xymbol joined22:30
rektide smoofra: an open source google reader is on my todo list22:30
ntoll left22:30
lorandi left22:30
tro joined22:31
spearce robinr: oh, yea, but i didnt' have a chance yet to fix it.22:31
agenteo joined22:34
sebleiersebleier|away22:35
hendry Ilari: _Vi error: Could not read 38e87a084c1eb3859cff1305536e184648f4dc28 permission problem? what id is git-daemon-run supposed to work with22:35
eseidel left22:36
dansan *whew*! Ok, I got my stuff where it needs to be (and I got my merge out of the way too :)22:36
_Vi hendry, "git fsck" on remote side OK?22:36
sjzzalx dansan: That's good news :)22:36
chriswarren joined22:36
dansan sjzzalx: thanks for the help! Although I wish I didn't do "git pull", lol!22:36
_Vi hendry, "git fsck" from user that runs "git-daemon".22:36
dansan SLOWLY, I'm learning to get around in git22:36
sjzzalx dansan: Yeah. You should know about git pull --rebase. That's what git fetch && git rebase origin/master does, anyway22:37
git pull --rebase is just a faster way to do it22:37
dansan ooh, fun :)22:37
sjzzalx git pull without the rebase switch merges instead of rebasing, that's the difference22:37
Ilari Also, pull --rebase can deal with nonlinear movement (at least in some cases).22:37
dansan And I got "git mergetool" working well for me with kdiff3, which I appreciate the hell out of22:38
xyz left22:38
dansan Also, the merge with the repository may help me because somebody added test code to a file that affects me :)22:38
chriswarren hey all - I really hope someone can give me a hand with this. I committed and pushed a change that removed a directory, plus added a few files. I need to get the directory back. what's the best way to do this? I've manged to get the dir back, but I lose the other files in the process.22:39
_Vi chriswarren, "git checkout HEAD^ -- /path/to/your/dir"22:39
hendry _Vi: can't understand wtf is going on with the git-daemon setup in Debian squeeze. userid i think should be root, but instead it's 105. argh22:41
_Vi hendry, dit-daemon is root?22:41
kn1ttl Ilari: still around? :)22:41
i finished re-cloning the svn repository with the authors file22:41
_Vi hendry, "setfacl -Rm u:105:rwx /path/ro/repo" ?22:42
kn1ttl and what do i do with the "svn"-merges22:42
_Vi hendry, Better expect everything that can be run not as root runs not as root.22:42
guitsaru joined22:42
robinr spearce: ok, that's working then.22:43
hendry _Vi: oops, i mean git-daemon22:43
_Vi: git fsck on the suspect repo from git-daemon user seems fine22:44
ph^ left22:44
_Vi hendry, "avahi:x:105:106:Avahi mDNS daemon"?22:44
dansan So does git have an fdisk option too?22:44
sjzzalx dansan: git fsck22:44
_Vi hendry, "git fsch --full" also?22:44
chriswarren _Vi: Thanks a lot22:44
dansan Maybe I can use it to mow my freakin lawn! I keep getting suprised by this thing :)22:44
hendry _Vi: no the user/group is OK. got confused as it takes time for the id to come in affect on my system for whatever reason22:45
_Vi hendry, What do you mean "it takes time"?22:45
dansan sjzzalx: Do you mean to tell me there is a git file system?22:45
cpg left22:46
dansan to dedicate a partition?22:46
jpieper joined22:46
hendry _Vi: sorry. i am really tired. wasn't running fsck as the gitdaemon user. now i get broken link: http://static.natalian.org/2009-06-23/whoops.txt22:47
chriswarren left22:47
xymbol hi there, is there a general consensus on what to use as push.default? tracking or current?22:48
mm_202 joined22:48
sjzzalx dansan: no22:48
_Vi hendry, As git-daemon user, "find /path/to/repo/.git | cpio -o > /dev/null". No errors?22:48
sjzzalx dansan: There are writings to that effect, about how git is filesystem, how it's awesome, how it's more important than Unix, and all of this other stuff22:49
but git fsck just checks the consistency of the repository22:49
makes sure you have objects for commits, etc.22:49
mm_202 Hey guys, do any of you use git to keep files (text files, openoffice, mp3s, avi's, etc) synced between computers?22:50
cmarcelo left22:50
hendry _Vi: ah, find: `/srv/git/faq/objects/d6': Permission denied22:50
_Vi mm_202, What is the problem?22:50
sjzzalx mm_202: sure. That's the whole point of git, keeping files synced between computers.22:50
dansan sjzzalx: lol! Well no surprise, it was spawned by Torvold's ego22:50
_Vi hendry, Then "setfacl -Rm u:dit-daemon:r-x /path/to/repo/.git" or something liks that.22:50
hpoydar left22:51
sjzzalx dansan: http://www.advogato.org/person/apenwarr/diary/371.html22:51
dansan sjzzalx: I'm a Stalman-ist you might say (and *not* Stalin as most people seem to hear)22:51
bremner_ joined22:51
mm_202 _Vi: no problem. I just have about 3-5 computers that I would like to keep my media synced together, but Im talking around ~100GB, would the git overhead not make it good choice? (versus using something like rsync)22:51
glommer joined22:52
hendry _Vi: what about instead, sudo adduser gitdaemon www-data ?22:52
_Vi hendry, E.g. make sure git-daemon user have read access to ".git" directory. (and write access, if you want to push over git protocol).22:52
dansan sjzzalx: I try to use the term "GNU/Linux"22:52
Nugget snickers22:52
hendry _Vi: because my git stuff is generally under www-data group22:52
_Vi mm_202, May be rsync will be better solution (especially for non-text files).22:52
sjzzalx dansan: Yeah. I think that debate is long lost. Everyone knows GNU contributed large parts of the userland, but plenty of others have too.22:52
_Vi hendry, Include git-daemon user to www-data group.22:52
jmou joined22:52
_Vi hendry, (and restart git-daemon, of course).22:53
sjzzalx mm_202: Yeah, I would use rsync unless you need to keep track of any differences between the files.22:53
tim left22:53
tim_jenssen joined22:53
sjzzalx mm_202: For instance, if you were updating a movie file a lot, if you're a movie editor or something22:53
dansan sjzzalx: Yea, I know, it's a lost argument. Almost nobody outside Stalman's circle says "GNU/Linux", but I still try to do it anyway,22:53
Nugget the "GNU prefix" debate is sort of offensive to the people who helped build all the software that GNU copied, too.22:53
dansan Nugget: agreed22:53
ph^ joined22:54
sjzzalx dansan: I think it's a little silly. If I use KDE, should I call it KDE/Linux? The KDE people wrote so much of my userland, if I happen to use KDE.22:54
julm left22:54
dansan I just hate that it revolves around one person's name and to lay-persons, they appear to get the credit.22:54
mm_202 sjzzalx: For avi's and mp3s, yeah, rsync works fine. But I'd like to keep track of changes in my photos and start adding meta-tags to them to keep track / organize them.22:54
Nugget but yeah, it totally devalues the hard work of millions of coders and elevates the GNU code to an undeserved level22:54
well, not millions, but you know what I mean22:54
sjzzalx dansan: Stallman just has a superiority/correctness complex and wants special credit, which he already gets from FSF stuff, so I think he's fine22:54
krh bzzzt, off topic!22:54
mm_202 I was just curious if anyone else here has used git for something like that?22:54
dansan Nugget: point well taken22:54
_Vi mm_202, Use git if you 1. can give advantage of branching/merging or 2. Have versions of files that should be saved or 3. need SHA hashes that confirm both files and their histories.22:55
dansan Nugget: So let's just start calling it Moof instead of Linux!22:55
dansan brainstorms22:55
Nugget I don't even *use* linux :)22:55
dansan has a flood.22:55
dansan is wet now22:55
dansan crap, that didn't work :(22:55
Nugget, what's your OS?22:55
Nugget OS X on the desktop, FreeBSD in the rack, and OpenBSD as the firewall.22:56
bremner__ joined22:56
dansan ahh, gotcha. So BSD all of the way then essentially22:56
thiago_home left22:56
qrush joined22:56
Nugget Unix is my dogma. BSD just does the best job at it.22:56
mm_202 _Vi: what would be an approx estimate of the git overhead on a 1GB compressed file?22:56
dansan gotcha =)22:56
Isn't OS X the 1st one that was built on top of the BSD kernel?22:56
jmoujulm22:57
Nugget 2 points. 1) there's no such thing as "the BSD kernel". 2) OS X is a Mach kernel, and just uses FreeBSD bits for the userland code.22:57
_Vi mm_202, By "compressed" you mean "uncompressible"?22:57
sjzzalx dansan: The first what? Certainly not the first OS or anything else. It's the first semi-successful mass-market consumer OS based on BSD.22:57
mm_202 _Vi: nod.22:57
_Vi mm_202, "nod" means "Yes"?22:57
eseidel joined22:57
mm_202 lol, yes.22:57
dansan sjzzalx: hah! I meant the first Apple OS based upon BSD, lol!!22:58
jrmuizel_ left22:58
dansan sorry about that =)22:58
Nugget depends on if you count NeXT or not. :)22:58
mm_202 _Vi: Im curious if the overhead if linear or constant, etc.22:58
dansan ahhh!22:58
MattRich joined22:58
dansan Wait, I thought that was a DEC product22:58
sjzzalx dansan: Yes, it's the first Apple OS that was based on free software, BSD, Mach, etc.22:58
dansan Shows you what I know22:58
_Vi mm_202, I think if you add 1GB avi file to git, the repository will grow about 1GB.22:58
Ilari mm_202: Something like ~100kB.22:58
mm_202 NIce!22:58
Ilari mm_202: Plus size of file itself+22:59
mm_202 lol, yeah, figured that :)22:59
MattRich left22:59
Nugget dansan: http://en.wikipedia.org/wiki/NeXT22:59
sjzzalx mm_202: It shouldn't add 1GB every time you commit a new version, though, unless it's just totally chagned.22:59
_Vi mm_202, (But it will be a problem to remove that file from repository)22:59
mm_202 git is great, but not magic22:59
sjzzalx because git uses deltas, much like rsync22:59
Ilari Compressed stuff doesn't delta.22:59
mm_202 yeah, but the metatags on jpegs will most likely delta since its just text.23:00
But I guess I'll just play with it and see.23:00
_Vi mm_202, You will wait while it will be adding all your big files to index. And you will probably wait when you commit (not sure). You will wait when using "git fsck". Fetch/push should work be more or less well.23:00
Ilari mm_202: Unfortunately, large files do nasty things to performance if deltification is enabled.23:00
lightcap_ joined23:01
mm_202 Yeah, I might just play with it for my home dirs's Documents and such across boxes and not try it with media.23:01
_Vi mm_202, If there is certain advantages of using git for this thing, you may use git for small files and just rsync large ones.23:02
merlin83 is interested to see a 1TB git repository storing the revision history of someone's homemade video ;-)23:02
hendry _Vi: thanks, you taught me a couple of new tricks, setfacl and that "find /path/to/repo/.git | cpio -o > /dev/null" was clever23:02
mugwump someone the other day was talking about putting '/*' in the .gitignore so that files/directories had to be manually added to be tracked23:02
hendry left23:02
_Vi hendry, setfacl trick may cause problems in future (new files created by non-git-daemon user will not have this ACL entry).23:03
hendry, Better add git-daemon to the group or make repository o+rx.23:04
scarabx joined23:05
candybar left23:06
dansan left23:07
rlb3 left23:07
willb left23:07
Ilari Just give directories apporiate default ACL?23:07
rlb3 joined23:07
robinr should work23:08
I use default ACL's for cvs and that works23:08
suman joined23:09
joshsdc joined23:09
DavidKlein left23:10
bremner_ left23:10
Stravy left23:10
ph^ left23:12
w|shimmy left23:13
_Vi hendry, Yes, default ACLs should also work: "setfacl -dRm u:git-daemon:r-x /path/to/repo/.git".23:14
corybantic left23:14
_Vi Ilari, robinr, Thanks for advice about default ACLs existence.23:14
mm_202 Completely separate question: how difficult is it to extract text from a bare git repo? (without cloning it or using any git tools)23:14
stephenjudkins_ left23:14
_Vi mm_202, Probably simple.23:14
sjzzalx left23:14
mm_202 lol, damn23:15
_Vi mm_202, (testing)23:15
mm_202 Does git have any soft of encryption module?23:15
k23:15
dansan joined23:15
agile left23:15
mm_202 will just avoid storing sensitive text files in git..23:15
_Vi mm_202, Yes, simple.23:16
mm_202, "git show revision:path/to/file".23:16
dreiss joined23:16
_Vi mm_202, Git is good at storing sensitive text files.23:17
cehteh just gpg encrypt your data23:17
bremner__ left23:17
mm_202 _Vi: yes, but without using any git tools23:17
wshimmy joined23:17
bremner_ joined23:17
ph^ joined23:17
_Vi mm_202, Without git tools? No way.23:17
mm_202 cehteh: yeah, Im curious if I could setup hooks to encrypt and decrypt data to/fro the repo on the fly.23:18
Ilari mm_202: You would need specialized tools to read even loose objects. Packs are even worse.23:18
_Vi mm_202, (any way will be reimplementing part of git).23:18
cehteh mm_202: if you dont use crypto, then anyonw who wants to see them can see them with no much effort23:18
dansandansan|afk23:18
ph^ left23:18
cehteh mm_202: should be possible23:18
either with gitattributes or with a hook23:18
_Vi mm_202, Just store repository on encrypted fs.23:18
hobodave left23:18
_Vi mm_202, (dm-crypt, encfs).23:18
cehteh well against what do you want to protect it?23:19
mm_202 does some googling...23:19
_Vi mm_202, I have LUKS partition on my USB drive with git repository inside (with backup of my files).23:19
EGreg__ joined23:19
mm_202 cehteh: just some coder 'friends'. Nothing serious like the FBI or anything23:19
EGreg__ I think I'll be moving to git from svn soon23:19
but what will I use instead of trac/bugzilla?23:19
cehteh trac :)23:19
mugwump you can use trac23:20
cehteh well the trac git plugin sux23:20
Ilari In security, the always important question is "what I want to protect against?"23:20
cehteh or is it fixed meanwhile?23:20
EGreg__ yeah but it's a hack, cehteh :)23:20
i mean, without the but23:20
mugwump which one? there are several23:20
EGreg__ nope, i don't think it has been fixed.23:20
mugwump at least two anyway23:20
cehteh Ilari: exactly23:20
EGreg__ I like to use trac, and it's the main reason for me to use svn :P23:20
in short: BAH ^223:20
daum joined23:21
cehteh we just use trac with wiki and repository integration disabled intentionally23:21
mm_202 _Vi / Ilari / cehteh: thanks guys for your help and answering my questions!23:21
_Vi mm_202, If you want to use Git for very serious nonstandard purpose, you should learn how it works internally.23:22
sArge-TF joined23:22
sgrimm joined23:23
cehteh my laptop uses encrypted dm anyways .. against when someone steals it23:23
mm_202 _Vi: Im a C/C++ coder so that shoiuldnt be too difficult. Can you suggest a good starting point, or should I just goggle around?23:24
cehteh but if you want to protect single files committed on a server, while still providing public checkouts, then it gets bit more complicated23:24
mm_202 nah, its all private.23:24
daum hey guys i have a branch called 'exp' on my origin, i tried git fetch origin/exp and now i have a branch called origin/exp in my repository, but when i try git push origin exp i get error: src refspec exp does not match any.23:24
cehteh just encrypt your disk then?23:24
sArge-TF left23:25
cehteh well thats slightly complicated with a server because it needs attention to boot23:25
Ilari daum: 'git fetch origin/exp'? I would expect that to fail.23:25
mm_202 cehteh: yeah, when I rebuild my computer I'll just do that and be done with it.23:25
Derander Hi. I'm trying to convert an SVN repository that I just freshly created from a dump. I'm using git svn clone to start the conversion, and I get this error: http://gist.github.com/13490823:25
wshimmy mm_202: git clone git://git.kernel.org/pub/scm/git/git.git23:25
mm_202 wshimmy: danke23:25
wshimmy mm_202: Documentation/technical has some good stuff in there23:25
(not to mention, all the good *.[c,h] stuff in there ;P)23:26
daum Ilari, hm maybe it was a bit different(was a few days ago) but i have now: git branch23:26
master23:26
* origin/exp23:26
Ilari Derander: Upgrade SVN?23:26
robinr left23:26
Ilari daum: Maybe you want to rename origin/exp to exp.23:27
Derander Ilari: I will see if I can do this.23:27
stephenjudkins joined23:27
daum Ilari, looks like that did it23:28
bremner_ left23:29
stephenjudkins left23:30
rylarrylar_off23:32
bentob0x joined23:32
bobmcw_ left23:34
Derander Ilari: thanks, the repository is cloning now.23:35
jrmuizel joined23:37
flazz joined23:38
_Vi left23:39
_Vi joined23:40
rlb3 left23:41
candybar joined23:43
ilteris__ joined23:45
flazz left23:46
bentob0x left23:47
flazz joined23:48
archis joined23:48
c0m1 left23:49
archis left23:51
Bass2 left23:51
aspotashev|eeepc joined23:56
w|shimmy joined23:57
carrus85 left23:58
thommey left23:59
scarabx left23:59

Logs Search ←Prev date Next date→ Channels Documentation