IRCloggy #git 2007-01-02

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.

2007-01-02

DrNick2 joined00:09
DrNick2DrNick00:09
tokkee joined00:49
PugMajere joined00:49
Thumper_ joined00:49
neuralis joined00:49
telmich joined00:49
matled joined00:49
anholt joined00:49
kblin joined00:50
z3ro joined00:50
mchehab joined01:06
beu joined01:36
DanielHolth joined01:39
spearce joined01:58
benoitc joined02:02
benoitc joined02:08
bfield1 left02:40
benoitc joined03:10
xjjk joined03:54
benoitc morning'04:29
have a pb with git04:29
i did git push on a remote machine04:29
spearce morning? its still evening here. :)04:29
benoitc mm internet time ;)04:29
so i did push on a machine where i clone a git repo, but content isn't updated on the original repo04:30
i did gitk to check, and git pussh seem to work04:31
i have changes displayed04:31
spearce right. push doesn't update the working directory, as you generally shouldn't push into a repository that has a working directory attached to it.04:31
benoitc any idee ?04:31
ah04:31
hum how to solve that04:31
spearce the reason is what if the working directory contained uncommitted changes? you can't resolve them remotely. :)04:31
so you can checkout the branch you pushed into.04:31
but if that is the current branch then you can just use `git status` to verify there are no uncommitted changes, and `git reset --hard` to reset the working directory.04:32
benoitc ok04:32
thanks04:33
cthere are some changes not commited but i don't know why they are there, semes this is a pb with date and fs04:33
spearce if you are going to push into a repository with a working branch push into a branch that isn't the one used by that repository; then when you want to update the working directory just use `git merge that-branch` to merge the pushed changes into the current branch (or fast-forward to them if there isn't a merge required).04:33
benoitc ic let's go for a try :) thanks04:34
spearce notes this is maybe the 10th time he's answered that on irc.04:34
spearce clearly we have some sort of documentation or usability issue in git.04:35
mchehab left04:37
benoitc :/04:37
doc isn't so easy to understand yes04:38
or some sample missed in http://www.kernel.org/pub/software/scm/git/docs/everyday.html04:39
spearce we've done a lot of work on it in 1.5, but it still has room for improvement.04:39
Romster joined04:42
benoitc hum didn't see teh doc for 1.5 :) i work on 1.4.4 right now so it may be better ;)04:43
spearce Junio hasn't announced 1.5 final yet; its slated for mid Feb.04:46
spearce tries to make bash suck less...04:51
xjjk joined04:53
warthog9 left05:16
DrNick hmm. "git branch -d A B" will only check A for strict subset-ness05:41
spearce that's a bug.05:42
HUUUUGE bug.05:42
DrNick no, it doesn't delete B05:42
it just complains about A and then suggests -D05:42
spearce what version? I thought someone patched that to complain and try B anyway.05:42
DrNick 1.4.4.205:43
spearce oh, yea, upgrade. :)05:43
DrNick release a new version and I will05:43
spearce 1.4.4.3 is out.05:43
master is quite stable too.05:43
DrNick not stable enought to get into fedora extras05:44
spearce oh, yea. its probably stable enough, but its updated far too frequently to be repackaged.05:44
the change you want is in master, but not 1.4.4.3. so it'll be in 1.5.0.05:44
Junio has gotten a little feature-greedy with 1.5. There's a huge number of really nice things added between 1.4.4.4 and 1.5.05:52
but why not just run your own private copy of git in ~/bin, built off git.git's master on a regular basis?05:55
Romster whats the best way to copy files from one branch to another in the same working copy of git? or do i have to co the new branc then add the files from the other branch?05:59
s/branc/branch/05:59
spearce no real 'best' way, there's lots of ways to do it.06:00
if its a large number of files and you aren't a git-kungfu-master then cloning the repository, checking out the other branch in the clone and copying them over then adding them is probably the easiest.06:00
(`git clone -l -s` will be faster for that clone)06:01
and maybe even -n to git clone as you will just checkout another branch anyway.06:01
if its just one or two files you can use 'git show' (or if your git is too old, git cat-file -p) to dump the file content to stdout, and redirect that to the desired path.06:02
Romster well tryed and proven way thats not alot of effort and not gonna bork on me then :)06:02
spearce git's internal storage format won't care how you copied the files, it will still perform delta compression for space savings.06:03
the only difference in the techniques is the time it takes you to perform the copy operation itself.06:03
Romster i'm on 1.4.4.3 currently..06:03
spearce yea, git-show doesn't do that trick there.06:03
Romster figures :P06:04
spearce 1.5.0, which isn't released yet. ;-)06:04
Romster i could goto 1.5 but dunno if thats wise.06:04
spearce reminds himself not everyone runs bleeding edge git.06:04
DrNick did git have a bug where it corrupted internal libc state?06:05
w.r.t. exit() and glibc's lockfile.c ?06:05
Romster well i run some svn head ports :)06:05
and cvs but no git ones yet :/06:05
spearce DrNick: not that i've known of, but i don't tread in that code often. 06:05
Romster sounds like a co be best as the new branch dosn't exist yet, but will in a moment.06:06
DrNick "git branch -D A B" went into an infinite loop after exit() was called06:06
Romster after i figure out how to makea new branch then add fiels then edit them.06:06
spearce DrNick: i don't see anything sticking out in the commit history for such a bug. 06:07
DrNick oh, wait, glibc doesn't have a lockfile.c. this is git06:09
and atexit(), I assume06:09
how many lockfiles does branch deletion require?06:09
spearce yea, we setup structures in memory to purge left over lock files during termination, in case someone dies internally while a lock is open.06:10
1, for the branch in question.06:10
DrNick well, that's not good06:10
spearce but you are using 1.4.4.3 aren't you? that doesn't have the builtin branch command, which means it should be using just rm to remove the branch.06:10
wait, never mind, it is the c version.06:10
merlyn joined06:11
DrNick and packed-refs06:11
merlyn is there any way to convert an object stash that uses an alternate into a completely local stash?06:11
git-repack -a doesn't seem to do it06:11
spearce merlyn: using an alternate via objects/info/alternates ? 06:12
merlyn yes06:12
I want to remove that06:12
to make this archive standalone06:12
spearce i can't think of one that's easy except to clone this repository and then move the clone's packfiles into this repository's pack directory, delete the alternate, and repack.06:13
total pita.06:13
merlyn Oh, I can just add the other pack in... it'll use it if it needs it, right?06:13
spearce yup06:13
merlyn can I just blindly mv the .pck and .indexd in?06:13
spearce or you can repack the source you are borrowing from, then copy its packs and their indexes into this new repository.06:13
yup06:13
merlyn do I need to edit info/pack ?06:14
or does it figure that out06:14
spearce no. you just have to watch out for any loose objects that aren't in a pack yet that are needed.06:14
merlyn ok06:14
spearce the info/pack file is only needed for web publishing. you can run update-server-info to correct it.06:14
(if needed)06:15
cehteh is there a simple command which shows in which branch i am, useable for scripting (without parsing the output of git-branch)06:16
merlyn that seemed to do it, thanks06:16
spearce cehteh: git-symbolic-ref HEAD 06:16
cehteh ah .. almost ;)06:16
basename $(git-symbolic-ref HEAD)06:17
spearce merlyn: maybe Junio knows an easier way to do that, but i certainly don't. and if there isn't a better way then maybe we should put an option in for repack (e.g. repack --standalone). 06:17
cehteh thnaks06:17
merlyn I'm trying to update my git.git repo to use the "new" standard06:17
spearce cehteh: only if the branch doesn't have '/' in its name. :) 06:17
merlyn and I didn't want to redownload everythign06:17
so I did git-clone --reference old.git06:17
but I thought git-repack -a -d would unfold the alternates06:18
cehteh mhm can tags have / in their name?06:18
spearce merlyn: apparently not. 06:18
cehteh: tags and branches can, yes. 06:18
spearce decides to write a repack --standalone patch...06:19
cehteh git-symbolic-ref HEAD | cut -d/ -f 3-06:20
merlyn Hmm. git-pull . origin now broke06:20
do I need to edit refs/heads/origin now?06:20
spearce merlyn: actually you should delete refs/heads/origin as that should now be origin/master (refs/remotes/origin/master to be exact). 06:21
merlyn I have scripts that say "git-pull . origin"06:21
because that's the old way to do it06:21
what's the proper way now?06:21
DrNick spearce: I can replicate it fairly easily. mkdir test; cd test; git init-db; touch blah; git add blah; git commit; git checkout -b A; touch a; git-add a; git commit; git checkout master; git checkout -b B; touch b; git-commit b; git checkout master; git repack -a -d; git pack-refs --all --prune; git branch -D A B;06:21
cehteh and aliases are not shell-expanded or something like that?06:22
spearce merlyn: the `git pull . origin` should still work as that will expand into `origin/HEAD`, which should be same as `origin/master`. 06:22
but `origin/master` is probably the preferred way now.06:22
merlyn no - it says "no such remote ref refs/heads/origin"06:22
DrNick spearce: print *lock_file_list06:22
$7 = {next = 0x8868b0, filename = "\000git/packed-refs.lock", '\0' <repeats 4074 times>}06:22
spearce ceteh: not sure i understand that comment about shell aliases.06:23
cehteh git [alias]06:24
spearce DrNick: i'm not on a glibc based system, so i probably can't reproduce the breakage you are seeing. 06:24
cehteh [alias]06:24
sign = tag -s -f -m 'automatic generated on last commit' signature06:24
DrNick spearce: it isn't glibc at all06:24
cehteh i just want to add the branchname in signature06:24
DrNick spearce: see above where I realize that lockfile.c is a git file, not a glibc file06:24
merlyn ok - I copied refs/remotes/origin/HEAD (which was a "ref: .." link) to refs/heads/origin06:24
and now my script works06:24
spearce cehteh: no, our aliases aren't shell expanded. 06:25
merlyn: Oh, its `git pull origin` that expands into `git fetch origin; git pull . origin/HEAD`. 06:26
DrNick: Lets see if i can cause this... 06:27
merlyn Hmm. so I need to remove the . now?06:27
that won't work with my older git archives.06:28
Unless I move some things around06:28
spearce merlyn: removing the dot would break behavior as the fetch would run as part of the pull. 06:28
Romster hrmm couldn't i use rebase?06:29
merlyn ok - so my edit was the only thing I could do06:29
there's no behavior to get back to what I was doing otherwise06:29
what's the normal behavior to git-clone and then track?06:30
spearce Romster: maybe, it depends on what you are trying to do. :) 06:30
merlyn shouldn't I be saying "git-pull something"06:30
without having to edit any config?06:30
spearce merlyn: yes, `git pull origin`. 06:30
you were doing `git pull . origin`, which meant you must have done `git fetch` previously yourself.06:30
merlyn you just said <spearce> merlyn: removing the dot would break behavior as the fetch would - run as part of the pull. 06:30
which is it now?06:30
Romster keep existing branch as it is basicky copy some files over and then edit and commit them in the new branch and work on 2 diferent versions of branches for a period of time before droping the old branch.06:31
merlyn Yeah, I was doing the fetch separately06:31
so will git-fetch with no args track all remotes still?06:31
spearce pull always runs fetch. but if you pass . as the first argument to pull the fetch doesn't really happen. which can be nice if you fetch, then unplug from the network and go away for a while and want to pull while offline.06:31
git-fetch by default will now copy all remote branches into refs/remotes/<name>, e.g. refs/remotes/origin/{master,next,pu,todo}06:32
Romster use seperate remote is now default?06:33
spearce Romster: yes. 06:33
Romster yay06:33
spearce DrNick: got your infinite loop in 1.4.4.3. 06:33
Romster think i brought that topic up awhile ago :)06:33
spearce merlyn: you could keep the old layout, or still setup a remote to fetch into refs/heads/origin if you want to avoid changing your scripts. 06:34
but that's going to get more difficult as time goes on, as its not the default for git clone.06:34
merlyn the trouble is that I have to support both kinds of archives. :(06:34
DrNick spearce: I've reduced the test case06:35
spearce DrNick: Still get it with current 'master'. That's nasty. 06:35
Romster i already use that option so i'm safe :)06:35
merlyn so the new version should be what... git-pull origin ?06:35
DrNick spearce: I'll email a test case06:35
merlyn and that should look at refs/remotes/origin/HEAD ?06:35
spearce merlyn: right, and that should also work in older repositories. 06:36
DrNick: thanks. this test case is already small, but if you can get a smaller one that would be nice. 06:36
merlyn it doesn't tough06:37
though06:37
I've had trouble with that before06:37
for example, the one I set up with git-svn says06:38
... fatal: 'origin': unable to chdir or not a git archive06:39
spearce merlyn: in prior versions of git `git pull origin` meant "fetch from remote origin the first branch listed in a Pull: line, then merge that into the current branch" 06:39
merlyn so I can't use "git-pull origin" with that one06:39
spearce what was your .git/remotes/origin file?06:39
Romster git-rebase won't do it'll do the whole master to a branch or in my case branch to another branch, but i only want to branch a number of files..06:39
merlyn there isn't one06:39
spearce merlyn: that's why you were fetching yourself before? setup a remote! :-) 06:39
merlyn it's git-svn06:40
spearce Romster: you can't branch individual files, only the entire repository. 06:40
merlyn it has its own fetching means06:40
Romster lol merlyn is doing it manually the ahrd way :/06:40
hard*06:40
merlyn I'm just trying to get my 11 archives to work with a common command06:40
what is "git-pull origin" looking for?06:40
spearce merlyn: you mean your 'origin' is an SVN repository, so you can't just use git-fetch to update off it? 06:40
merlyn right06:41
git-svn maps a remote SVN to a local .git06:41
spearce .git/remotes/origin, which contains a URL: line and one or more Pull: lines.06:41
merlyn so I use git-svn to "fetch" it06:41
spearce has used git-svn in the past unfortunately.06:41
merlyn and then git-pull to merge it to my master06:41
Romster spearce, ok so that leaves me to the co the wc add the new branch name then copy files over then commit them then, unless git as a simaler option in one of its commands todo this?06:41
kanru joined06:41
merlyn so I *can't* use git-pull origin universally. :(06:41
merlyn sighs06:41
spearce merlyn: you are up a creek and we didn't give you a good paddle here. 06:41
merlyn I need to keep using "git-pull . origin" then06:42
and patch all *new* archives to work that way06:42
spearce What you could do is create .git/remotes/origin with URL: . and Pull: origin06:42
then maybe `git pull origin` would work, assuming you can git-svn fetch first.06:42
Romster: git checkout -b your-branch ? 06:43
Romster ah yes i could do that to that be alot nicer06:43
merlyn well - ref/heads/origin is really "refs/remotes/git-svn"06:43
can I just put refs/remotes/origin to point at that instead?06:43
Romster thanks spearce i didn't think of that one..06:43
spearce merlyn: yup 06:44
merlyn I'm confused by indirection. :)06:44
Romster silly that the simpilist ones are always the hardist to think of :?06:44
:/06:44
spearce merlyn: isn't indirection one of the key features of recent Perl? :) 06:44
recent being > Perl 4...06:45
merlyn heh06:45
Romster -b your-branch/directory would work too i hope.06:45
spearce Romster: that would make a branch called 'your-branch/directory'. i assume that's what you want? 06:45
Romster well i want the new branch but there is a number of directorys i'd like to copy into the new branch each directory has a stack of files in it.06:46
got about 30 directorys to copy into a new branch.06:47
spearce DrNick: your reduced test case works ok here on master. 06:47
merlyn what is the point of branch.master.remote = origin?06:47
Romster theres over 500 or so in total :)06:47
merlyn just documentation?06:47
or does anyone pay attention to it?06:47
spearce merlyn: pull looks at it as what to do when no argument is given, e.g. `git pull`. 06:47
Romster origin is default so i drop using origin personally..06:47
spearce we include it for 'documentation' reasons by default, as people can easily copy-n-paste.06:48
DrNick spearce: really? odd.06:48
merlyn it seems redundant that it has branch.master.merge = refs/heads/master06:48
what OTHER ref would it be?06:48
spearce Romster: So you just want to branch the repository from a current version, then copy in those additional files and commit it, ok. 06:49
merlyn what breaks if I change that? :)06:49
Romster copy the directorys over to the new branch then work on them yes06:49
spearce merlyn: refs/heads/todo. or whatever other ref the remote might have. you can safely delete it, or if you explicitly pass things to pull then these get ignored. 06:49
DrNick: gap between the keyboard and chair here; i missed including "git branch -D A B" in the end of the test script. it still fails. 06:50
merlyn Uh - I don't understand06:50
it's describing branch master06:50
which is always refs/heads/master06:50
so why is there a setting for that too?06:50
spearce merlyn: its describing the name of the branch in the remote repository to fetch into this branch by default. its just dumb luck in your case that both are called master. :) 06:51
merlyn or is it saying when you're *on* branch master, and you say "pull", you oh... "merge" is from the perspective of the remote?06:51
but there's no URL for this06:52
how does it know which remote?06:52
spearce branch.master.remote06:52
merlyn damn - this is all confusing and underdocumented06:52
spearce that's been a big complaint lately...06:52
spearce is trying to debug DrNick's infinite loop...06:52
merlyn wait.. I have "master" in both places06:53
what are the two "master" referring to?06:53
remote's master06:53
and my local master?06:53
spearce yes06:53
oh, nice, the lock file list is a circular list. cute.06:54
merlyn so I could say "remote = ." "refs = refs/remotes/git-svn" then06:54
for my branch master06:54
except then I couldn't pull into some other branch06:54
easily, anyway06:54
spearce right06:54
merlyn wait... what if I edit the other entry06:55
remote.origin.url = .06:55
remote.origin.merge = refs/remotes/git-svn ?06:55
spearce i think more like: remote.origin.url=. remote.origin.fetch=refs/remotes/git-svn06:56
then you can just do `git pull origin`, and omit the remote and merge entries under each branch.06:56
merlyn and that would merge my local archive's git-svn into whatever branch I'm checked out?06:56
spearce should, yes.06:57
Romster spearce, hrmm i'll do it the other way since i made a new branch i'll just deleate the directorys that arn't mine in the new branch then commit, that will also work too.06:57
spearce Romster: except that if you then merge your branch with another those directories will be missing in the merge result, as you deleted them. 06:58
Romster great... ok how do i undo a branch, then make a new empty branch?06:59
git is so confusing..07:00
spearce Romster: git checkout -b newbranch oldbranch 07:00
oldbranch should be the version (or branch) you want to start over from. e.g. origin/master07:00
then you can delete your current branch with git branch -D badbranch07:00
Romster i've doen a git checkout -b 2.307:00
and i see all the same directorys as i have in 2.207:01
spearce because you created a branch named 2.3 from the branch you were already in, which was probably 2.2.07:01
Romster problem now is i only want the directorys i have created, and there contents the othrs will add theres when they are ready todo so.07:01
spearce try instead: git checkout -b my23 2.307:01
Romster but i don't have a my2307:02
would that create a blank new branch?07:03
spearce the point of the -b option to checkout is to create a new branch.07:03
the second argument is the version to start the branch at. if you omit it it assumes whatever version you are currently looking at (aka HEAD).07:03
Romster yes a branch but only include some of the directorys and files from the wc07:04
well i've branched 2.2 to 2.3 now07:04
spearce you can't branch part of the working copy in git. the *WHOLE THING* must be branched.07:04
Romster so your saying if i remove all directorys i don't own and then commit, it'll be bad later on for a merge, but the other devs would add there directorys in at a later date.07:05
that is a royal pain...07:05
spearce that's a fundamental part of Git's design.07:05
Romster well i have the whole branch is it safe or not safe to remove everyhting int he new branch thats not mine?07:05
spearce not safe, as git will try to carry those deletes into any future merge. or into any patch you may format out.07:06
Romster others will add them with a co from the old branch or a copy to the new branch depending on there skill level with git.07:06
ok how can i accomplish what i'm trying todo in a safe manner?07:07
spearce at this point i'm not quite sure what you are trying to accomplish. i've sufficiently confused both of us. :-(07:08
Romster i now need to remove the 2.3 branch i made first too.07:08
:/07:08
spearce so look at `git branch`, use `git branch -D bad` to remove any bad branches you don't want.07:08
Romster i would like a new branch number of 2.3 but blank, and copy over only directorys that i own in 2.2 into 2.307:08
spearce ok. odd usage i think but: git clone -n -l -s . ../my22; cd ../my22; git checkout 2.2;07:09
that gets you a clone with 2.2 in it, right?07:09
Romster ok back to square one now removed the new branch i made.07:10
russell_ joined07:12
Romster -s The resulting repository starts out without any object of its own.07:13
reading the man page b4 i do it..07:13
merlyn hmm. will remote.origin.url = ., remote.origin.ref = refs/heads/origin still work?07:13
that seems folded. :)07:13
spearce merlyn: yes 07:13
Romster so no object of its own means its just a directory with the files in it.. not hardlinked.07:13
merlyn that would make "git pull . origin" and "git pull origin" mean the same thing07:13
spearce Romster: yes. its the cheapest clone type you can make, and probably only good for really transient uses, which this case is here. you just need a fast way to get your 2.2 version of files. 07:14
merlyn: yes... 07:14
Romster thats the one spearce .07:15
merlyn wow... ok, that's twisted. :)07:15
Romster i know its a unuseall case i seem to pickthem dunno why :/07:15
ok that worked good so far..07:17
so now i remove what i don't want and commit it to 2.3 somehow?07:17
add and comit*07:17
spearce so now you want to make a completely empty branch? and copy the files from ../my22 into it?07:18
Romster then remove my22, and use git checkout to switch branches and maintain as per normal.07:18
yep spearce07:18
i can remove all uneeded files/directorys out of my22 then somehow commit them to a empty 2.3 branch so only whats remaining in my22 gets added.07:19
spearce ok, easiest way to make an empty branch: cd ..; mkdir my23; cd my23; git init-db; cp -r ../my22/blah blah; git add blah; git commit07:19
Romster and the other devs will add there own stuff when they get to it.07:19
ah ok07:20
i can copy what i want from my22 to my23 then add and commit the inital import to 2.3 then, all this so i can avoid the deleate problem on a futuer merge :/07:21
looks to me a patch maybe in order todo what i'm doing.07:21
spearce its twisted because your 2.3 history isn't connected to your 2.2 history.07:21
its not something the core git mailing list is really seeing as a feature...07:22
Romster well it would be nice to keep the history of the files/directorys that belong to me, but not to move the others into the branch, which isn't possable.07:22
only what i own, they each copy what they work on into the new branch when they are ready todo that.07:23
not sure if you get all of what i've been typing.07:23
hard to explain07:23
spearce but if that winds up being nearly every file that is in 2.2, why not just branch off 2.2 to start 2.3?07:23
Romster theres about 500 directorys in 2.2 i only want to put 30 of them approx, into 2.307:24
with history if possable, but it isn't compulsery07:25
the useage is in a ports package system for a linux distro07:25
spearce ah.07:25
Romster as the cd iso version is named 2.2 and the new one will be 2.307:25
but only the maintainer of the port/directory for each port, addes and modifys to comply with the new alterations07:26
spearce anyway when you are done committing into your my23 go back to your real repository and do: git fetch ../my23 master:2.307:26
Romster thinks the penny just droped07:26
spearce that will copy the new 2.3 branch you started into your real directory. then you can throw away the ../my22 and ../my23 directories.07:26
Romster neat that'll work but loose the history of the new branch but maybe that might not be such a bad thing, dunno.07:27
not sure if this is worthy of a patch case or not either.07:27
spearce the only history of your 2.3 branch is the initial import commit, but git fetch never loses history, it copies it exactly.07:28
you lost history from 2.2 as you copied the files into an empty branch and made a new initial commit which had no parents.07:29
spearce thinks he found DrNick's bug.07:29
russell_ Q: i just git-cvsimport'd a repository and git-status is telling me "Changed but not updated:" and a bunch of files (about 83) are marked "deleted". what does that mean?07:30
spearce russell_: your working directory somehow doesn't match your HEAD revision (the tip). are you by chance on a case insensitive filesystem (e.g. FAT, NTFS, Mac OS X)? 07:32
Romster hrmm07:32
russell_ spearce: no, reiserfs07:32
Romster spearce, my22 will have history still? its the copy from my22 to my23 that'll loose the history?07:33
spearce Romster: correct 07:34
russell_: i'm afraid i'm not very familiar with the cvsimport program. i'm suspecting your working directory is just out of date relative to your current branch though, as that's what git status is saying. 07:34
if none of those changes are things that you did that you care about, you can try doing `git reset --hard` to make the directory match the most recent commit (as seen in `git log`).07:35
russell_ i didn't make any changes, so i guess that's what i want to do07:35
jeffpc_ joined07:37
Romster spearce, so my next question would be is there anyway to copy directorys over in my22 to my23 while keeping the history, this isn't important but a nice to have(tm)07:38
spearce Romster: not without carrying in those 470 directories you don't want. 07:38
Romster dosn't look like git fetch has any option todo selective fetching of files07:38
that would be a nice option to have..07:39
as other devs can use that when they copy over there files/directorys to keep history.07:39
spearce Romster: probably never going to be supported, it breaks too many fundamental concepts. 07:39
Romster does this become a worthy case?07:39
hmmz07:39
spearce i think in this type of case we've suggested using a different Git repository for each package.07:40
Romster i can't think of any other way, other than steping on everyone else toes and merge everything and then let them edit there stuff :/07:40
spearce but that means you have 500 repositories...07:41
Romster hrmm would work but yes thats a bit insane?07:41
spearce but then they have completely independent history, which may be what you want/need.07:41
Romster unless one made a bash script to git pull for each of there own packages.07:42
it can then be merged with that history into the main branch though?07:42
spearce no, those repositories are completely independent and wouldn't ever be merged together. but then you might have one higher level repository which says what version of each package repository to include in a given release.07:43
Romster just wondering if i should talk this otu with the others before adding anything to 2.307:43
out*07:43
this all has 2 layers to it, 1 is some ports go on the iso, 2 they all get put into a rsync for a ports -u to update the package manager tree07:44
i don't think 500 git repositorys sounds convenent07:45
xjjk joined07:45
spearce Gentoo said the same thing about one per package for their distro.07:45
Romster even though that would be expaned out to how many each dev maintains.07:45
this is CRUX btw if your wondering :)07:46
spearce i guess i'm confused about why you are going from 500 directories to 470 in 2.3.07:46
Romster well the point is only what each person maintains includes them into 2.307:47
if i added them all someone would bitch at me i bet :)07:47
as most will need some alterations.07:47
for example one major change is x11R6.8 to xorg 7.107:48
so dependencys would change.07:48
spearce ah, ok. so you are using the missing directory to indicate its either dead or needs to be updated.07:48
Romster 2.3 is in testing but is lacking contrib ports atm, only has core and opt07:48
precislely07:49
can't think of any other easer ways todo what i'm doing?07:49
spearce see, what I would do here is make a branch off 2.2 for 2.3, make changes, and look at the set of directories which didn't change between 2.2 and 2.3 as the set which still needs to be updated, or should get deleted.07:50
then later in the 2.3 dev cycle delete those which were never updated.07:50
Romster what you have told me i can manage todo, just won't have any histroy on the 2.3 other than from after the inital commit07:50
hrmm07:52
problem there is as soon as 2.3 shows up for contrib it'll rsync the 500 or so directorys not just the 30 or so (just estermating the numbers) but only the ones i maintian will get altered.07:52
spearce yea, that's a huge problem for you.07:53
Romster the rest will have to wait for the others to edit them, i don't think they would like it if i moved them to a 2.3/please-update/port setup07:53
spearce given that maybe what you are doing is the better route.07:53
Romster reseting the history for each new version wouldn't hurt i guess.07:54
as its a new build.07:54
spearce you can graft the histories together, which can reconnect some of that history if you later need to.07:55
Romster ah ok, thats good to know.07:57
time for a drink then to sort though this mess of directorys :/07:58
spearce, how many known linux distros that use git for there packages?07:58
oviously they would hev done things diferently or put up with the problem i had.07:59
devogon joined07:59
spearce Romster: your's may be the first; i don't know of any offhand. 08:00
Romster so typical i seem to find new cases that no one else has come across yet :P08:03
spearce heh, sorry. you may want to send a message to the git mailing list seeking more advice; there's a lot of brains on there.08:04
Romster thts later this is now :)08:04
unless i hold off this for a while.08:05
i can email the mailing list right now if i sign up or does someone have to allow me after reviewing my inclusing into the git ML?08:05
spearce its an open list, no subscription required for posting.08:07
Romster ah nice i'll post now then08:07
ferdy joined08:11
spearce finally fixed DrNick's infinite loop bug. *sigh*08:17
lu_zero joined08:51
jeffpc__ joined08:59
ktne joined10:10
lyakh joined10:24
jeffpc_ joined10:25
benlau joined10:38
nud joined10:56
Oejet joined11:01
Debolaz2 joined11:24
Debolaz2 joined11:24
Debolaz2Debolaz11:28
GyrosGeier joined11:49
chris2 joined11:53
benoitc joined12:15
chris2 anyone git svnimport savy? i get lots of "Unrecognized path"s12:24
spuk- joined12:30
jeffpc_ joined12:52
timlarson_ joined13:39
kanru joined13:52
zoobieboots joined13:55
zoobieboots left13:57
timlarson__ joined14:09
lyakh joined14:26
benoitc joined14:40
GeertB joined14:44
kanru joined14:53
borovic joined15:16
borovic conlang forum: http://yourconlangs.s4.bizhat.com15:16
what do you think?15:17
borovic left15:21
ag joined15:46
benoitc joined15:55
ferdy joined16:00
moh joined17:06
russell joined17:12
benoitc_ joined17:35
GyrosGeier joined17:40
russell joined17:49
andi5 joined18:03
GyrosGeier joined18:03
nud is there an equivalent to ~/.cvsrc for git ?18:22
(it allows to specify default options for cvs commands)18:23
spuk- .gitconfig, but i'm not sure it has that18:46
you can set aliases for commands, but not for existing commands18:48
nud in .cvsrc you put a line like diff -p and it uses the -p option automatically when you write cvs diff (for instance)18:49
spuk- i mean, not aliases named as existing commands18:49
nud yes, I could use bash aliases but it's less pretty and flexible ;-)18:50
spuk- yeah18:50
but, maybe the option you want can already be set specifically in .gitconfig ?18:51
check man git-repo-config18:51
andi5 hm... can somebody explain (or link) to me what determines the colors between commits in the commit graph of gitk?18:51
anders_ Is there some command to "dry-run" a merge? To check if it will manage to merge without conflicts.18:55
spuk- anders_: git-pull --no-commit? --squash?18:58
nud mh19:02
anders_ spuk-: So doing git-pull --no-commit and checking if "git-ls-files --unmerged" is empty, is the best way?19:02
nud does git-svn commit commit to only one changeset into svn or commit each commit separately ? the man page is not very explicit and --help makes me think the latter19:02
and MadCoder the former, so I'm a bit confused19:03
MadCoder if you specify a revision it commits ..that_rev in one piece afaict19:03
dcommit commits every git patch separately19:04
git commit is a bit confusing and low level and should not be used the doc says19:04
nud ah19:04
so basically my mail just says "make commit-diff a synonym for commit"...19:04
MadCoder but I do too search for a git svn 'cherry-commit' (I suppose you're the one I answered to)19:05
nud MadCoder: yeah it's me19:05
MadCoder and I suppose my method is far from the best one19:05
but it works for me19:05
and I stick to it as it's for my corporate work, and that we're all at the same floor working on the svn, and I'm not concerned with race conditions19:05
nud MadCoder: so what you do is cherry-pick -n for each patch you want and then commit ?19:06
MadCoder I suppose a way to build an `aggregated branch` would be better19:06
and then use git dcommit on it19:06
nud thinking of it you could as well commit them at once and then use dcommit19:06
yep, that :-)19:06
MadCoder but I've found no $Madcoder-efficient way to do that19:06
so I hope someone will say "doh, you stupid guy, you could do that doing that and that"19:07
spuk- anders_: don't know, i just trust the output message of git-pull :-p19:09
nud MadCoder: something like `for i in git-rev-list remote/git-svn..work; do git-cherry-pick -n $i; done; git-commit -a -m "SVN-friendly commit"; git-svn dcommit` ?19:11
MadCoder nope, not really19:11
because in fact I have say commits A B C D19:12
and I want to commit {A, C} then {B, D}19:12
because they make more sense that way19:12
in fact that's a thing I'd even like to do in git as well19:12
anders_ spuk-: But I'm making a script that is supposed to run in the background. And check merge status.19:12
nud yep, that makes sense19:12
MadCoder because my master branch is often used like I use :wa in my editor, and some recombining of the diffs is better for the pushed diffs19:12
nud I do use git that way too19:13
MadCoder not to mention the "doh I commited a thing that do not compile"19:13
it's really annoying as it breaks git bisect19:13
nud so I have "with comments from $somebody"-like commits and that would not be very pretty to push something like that19:13
MadCoder I'd really like to be able to merge changesets easily19:13
I'm sure there is a thing to do that, but I've not managed to find it yet19:13
kanru joined19:17
spuk- anders_: hmm, check git-merge too, maybe you can just check the exit status19:18
anders_: and, git-merge seems to use git-ls-files --unmerged to check merge status, so..19:19
ilogger2 joined19:58
ferdy joined20:24
yann joined20:32
ilogger2 joined20:35
riddochc joined20:58
xjjk joined21:14
lyakh joined21:32
ilogger2 joined21:47
rkaway2 joined22:01
nud_ joined22:10
rkaway2rambokid22:14
DrNick joined22:17
matled joined22:28
telmich joined22:28
PugMajere joined22:28
tokkee joined22:28
meyering joined22:28
dancor joined22:33
dancor i can't figure out how to use --diff-options with git diff22:33
git-diff [ --diff-options ]22:34
matled joined22:34
telmich joined22:34
PugMajere joined22:34
tokkee joined22:34
meyering joined22:34
dancor how do i pass in say -bB to the underlying diff call22:34
maybe i just don't understand what the man notation git-diff [ --diff-options ] means22:34
neuralis dancor: man git-diff-files to see the options22:37
ilogger2 joined22:39
ilogger2 joined22:40
robfitz I don't think there is even an option called '--diff-options' to git-diff.22:40
dancor so --diff-options means "actually use those otehr options literally"22:40
and there is no -B equivalent22:40
robfitz Looks that way, I think it might be a left over.22:41
dancor ok22:41
matled joined22:43
telmich joined22:43
PugMajere joined22:43
tokkee joined22:43
meyering joined22:43
matled joined22:56
telmich joined22:56
PugMajere joined22:56
tokkee joined22:56
meyering joined22:56
bronson joined22:59
rambokid hm, is there something like git-cvsexportcommit for svn?23:05
robinr rambokid: git-svn is two-way23:06
rambokid oh, git-svn? just have git-svnimport here. do you have alink?23:07
merlyn "it goes both ways" :)23:07
git-svn comes with the distro23:07
presuming you have something from the last three months23:07
which would be silly not to have, since git is still rapidly developing23:08
rambokid ubuntu edgy here23:08
merlyn well, you may want to track git devel then23:08
robinr I recommend v1.4.323:10
nud_ rambokid: edgy is too old to ship git-svn23:10
pnatal joined23:11
rambokid yeah, figured. it has git 1.4.123:11
nud_ I asked a backport for latest git but noone has done it here23:11
s/here/yet/23:11
so you'll have to build it yourself I'm afraid23:11
robinr it is pretty simple to build (except maybe the docs)23:11
robfitz You should use the lastest version v1.4.4.3.23:12
nud_ https://bugs.launchpad.net/products/edgy-backports/+bug/77012 <-- the request23:13
ruskie can anyone help me with setting up gitweb?23:22
robfitz What's the problem?23:22
ruskie http://ruskie.dtdm.org/repos/gitweb.cgi <-- I get a 403 here23:22
I have a foo.git dir in the same dir23:23
hmm23:24
robfitz ruskie: can you use a more recent version of git?23:24
and gitweb23:24
ruskie only have 1.4.2 on it atm23:24
robfitz do you have gitweb.conf file?23:27
ruskie no23:27
the config is still directly in the .cgi23:27
robfitz What is the value of $projectroot and $projects_list?23:28
ruskie /home/ruskie/public_html/repos23:28
gitster joined23:28
ruskie our $projects_list = "index/index.aux"; <-- hmm I guess this might be a prob23:28
yup23:29
that was it23:29
thanks for the help23:29
robfitz no problem23:29
ruskie still need to setup webdav there :)23:30
ehird joined23:44
ehird is git "transparent" - i.e. will "rm" make it booboo in svn and will making a new file get picked up (of course, being able to exclude them) unlike in svn?23:45
err. answer that tomorrow when i wake up.23:45
Spyro ...23:58

Logs Search ←Prev date Next date→ Channels Documentation