| 2007-03-03 |
|
arj
| what happens if I create changes in the repo where I want to fetch from, do I have to rerun the fetch command? | 00:01 |
| ← Oejet left | 00:05 |
|
cehteh
| yes | 00:09 |
|
arj
| ok | 00:10 |
|
gitte
| arj: If that happens often, you can setup a shortcut, so you can say "git fetch other". | 00:10 |
|
cehteh
| unlike arch, git does all operations locally ...remotes are only used to store locatitions from where to fetch | 00:10 |
|
gitte
| (Instead of that longer "git fetch ..." line.) | 00:11 |
|
cehteh
| thats quite diffrent than arch | 00:11 |
|
arj
| yeah | 00:11 |
|
cehteh
| .. brb .. again | 00:12 |
|
arj
| I'm running git 1.4.1, should I have any reason to upgrade to 1.5? | 00:12 |
|
| it's the default in ubuntu | 00:12 |
|
cehteh
| yes .. lots neat stuff | 00:12 |
|
arj
| can I find a changelog somewherE? | 00:13 |
|
gitte
| http://repo.or.cz/w/git.git?a=shortlog;h=master | 00:15 |
|
| ;-) | 00:15 |
|
arj
| thx | 00:15 |
|
| can git push using ftp? the man page doesn't seem to mention it | 00:16 |
|
gitte
| Not yet. | 00:21 |
|
| It can push via SSH, HTTP and RSYNC. In 1.5, you can even open it to pushing via Git's own protocol, but that is without authentication... | 00:22 |
|
| Pushing via FTP would be probably just a relatively minor change to http-push, so a dedicated developer should need only a couple of days to make it work. | 00:26 |
|
| Anyway, I have to go home now. Ciao, | 00:31 |
|
arj
| bye thx for the help | 00:31 |
|
gitte
| arj: You are very welcome! | 00:31 |
|
| gitte is even too tired to type a dot correctly, hitting a comma instead. :-( >) | 00:32 |
| → benlau joined | 00:43 |
| → anholt joined | 00:54 |
|
arj
| must git be installed on remote host where one pushes? | 01:03 |
| → devogon joined | 01:33 |
| → Thumper_ joined | 01:44 |
| → mugwump joined | 01:44 |
| → ianw__ joined | 01:44 |
| → zakame joined | 01:44 |
| → maio_ joined | 01:44 |
| → corecode joined | 01:44 |
| → z3ro joined | 01:44 |
| → cworth joined | 01:44 |
| → tchan joined | 01:44 |
| → robfitz joined | 01:44 |
| → devogon joined | 01:44 |
| → Tv joined | 01:44 |
| → halfline joined | 01:44 |
| → tko joined | 01:44 |
| → meyering joined | 01:44 |
| → MadCoder joined | 01:44 |
| → Ori_B joined | 01:44 |
| → davi joined | 01:44 |
| → mndrix_ joined | 01:44 |
| → yann joined | 01:44 |
| → mtm joined | 01:44 |
| → tonyj joined | 01:44 |
| → PugMajere joined | 01:44 |
| → cods joined | 01:44 |
| → Romster joined | 01:47 |
| linuxmig1ation → linuxmigration | 01:51 |
| → orospakr joined | 02:08 |
| → kanru joined | 02:32 |
| → spearce joined | 02:58 |
|
robinr
| when does the "encoding" header enter a commit? | 03:07 |
|
spearce
| when the commit is not UTF-8. | 03:08 |
|
robinr
| not true | 03:08 |
|
| that was what I thought too | 03:08 |
|
spearce
| ? I thought that was the case, we only insert it into the commit if the commit body was not in UTF-8... | 03:09 |
|
| looking at builtin-commit-tree.c, that's what the code says... | 03:10 |
|
robinr
| does git-cat-file convert to local? | 03:10 |
|
| i think not and that means my commit is iso-8859-1 | 03:10 |
|
| without an encoding header | 03:10 |
|
spearce
| cat-file only specially handles tags and trees with the -p option; otherwise it dumps the raw data. | 03:11 |
|
| show/log/whatchanged will convert to local. | 03:11 |
|
robinr
| then I don't understand | 03:14 |
|
| does the same apply for tags? | 03:15 |
|
spearce
| no. we don't mess with the tag at all. | 03:16 |
|
| because the damn thing might be pgp signed... | 03:16 |
|
robinr
| shouldn't be a problem as long as you decide what is signed, i.e. the raw data | 03:17 |
|
| I can sign non-ascii mail | 03:17 |
|
spearce
| yes, of course. but we don't have an encoding header in the tag format it seems, and there's no way for the user to set one themselves before signing the tag. | 03:18 |
|
robinr
| I get a warning | 03:21 |
|
| yeas p(normal user gets this right) -> 0 | 03:23 |
|
| so jgit has to guess the encoding regardless | 03:25 |
|
| the encoding header just reflects the config setting and nothing else | 03:25 |
|
spearce
| yea... basically i think we might be able to do what git-gui does: read the header and assume utf-8 unless an encoding header is found, if the encoding line is found switch to whatever it says. | 03:25 |
|
robinr
| you can't assume that, because a default configuration encodes the platform default | 03:26 |
|
| not UTF-8 | 03:26 |
|
| i.e. it is best to ignore the header and is it looks like utf-8 it is, else guess something else | 03:27 |
| → rlb joined | 03:27 |
|
robinr
| s/is it /if it/ | 03:27 |
|
| just like IRC clients do | 03:28 |
|
spearce
| heh. :) | 03:28 |
|
robinr
| I thought the encoding header was there to convince, not confuse | 03:29 |
|
spearce
| yea, i ignored most of that discussion on the list when it happened. i'm not too interested in encodings and whatnot, i'm a US-ASCII only guy. ;-) | 03:30 |
|
robinr
| I was trying to argue there. junio thought it we'd fix it five years or so | 03:31 |
|
| I had an implementation that asked the user what locale he had. | 03:31 |
|
| the NLS stuff | 03:32 |
|
spearce
| what about i18n.commitencoding? if that is set and the commit doesn't have an encoding header, assume that value? hmm... confusing it is! | 03:33 |
|
robinr
| much less code too | 03:33 |
|
spearce
| heh. yoda voices don't work on irc. bummer. | 03:33 |
|
robinr
| don't they | 03:34 |
|
spearce
| i hate C compiler vendors. sizeof(unsigned long) == 4 here, but sizeof(unsigned long) == 8 on other systems. yet sizeof(off_t) == 8 here and there. grrrr. | 03:36 |
|
robinr
| isn't that why there is sizeof? | 03:36 |
|
spearce
| doesn't help when a million variables in git code were declared long, unsigned long, or (horrors) int when they should have f'in been off_t from the get-go. | 03:38 |
|
robinr
| so the encoding isn't the only thing wrong | 03:39 |
|
| otoh there isn't a helluvalot of code to explicitly get it wrong | 03:39 |
|
spearce
| :) | 03:39 |
|
robinr
| the non-encoding stuff, I mean | 03:40 |
|
spearce
| right | 03:40 |
|
robinr
| Sure I wan't to see my mistakes, but I'd rather avoid them in the first place | 03:45 |
|
| seems java doesn't choke on trying to decode UTF-8 when it isn't | 03:46 |
|
spearce
| :) | 03:46 |
|
| that's koalty kode dere... :) | 03:47 |
|
robinr
| ? | 03:47 |
|
spearce
| bad joke. i guess the j2se runtime cannot really be expected to tell if it really is utf8 or not, the only way to really know is if the last character is missing an additional byte i guess. | 03:48 |
|
DrNick
| well, no, you can look for missing bytes anywhere in the string, or you could look for non-minimal sequences or sequences that encode outside of the Unicode space | 03:49 |
| → MenTaLguY joined | 03:50 |
|
MenTaLguY
| hello | 03:50 |
|
robinr
| if it can be decoded as UTF-8 it is extreemly likely that it actually is | 03:51 |
|
| iso-2022 is the only encding where misdetections can be expected in practice | 03:52 |
|
| with the ISO-8859-x encoding it just won't happen | 03:53 |
|
| theoretically it could by noone encodes such nonsense | 03:53 |
|
| s/by/but/ | 03:53 |
| → Tv joined | 04:40 |
| → iano joined | 04:49 |
| → rkaway1 joined | 05:27 |
| → linuxmigration joined | 05:35 |
| → linuxmigration joined | 05:38 |
| → benlau joined | 06:54 |
| ← MenTaLguY left | 06:55 |
| → iano joined | 08:21 |
| → lyakh joined | 08:30 |
| → Oejet joined | 08:55 |
| → alley_cat joined | 09:01 |
| → Eludias joined | 09:11 |
| → chris2 joined | 09:17 |
| → nud_ joined | 10:10 |
| nud_ → nud | 10:47 |
| → jeffpc joined | 12:11 |
|
corecode
| gitte: i don't care if creating patches for fromcvs is harder for people. actually, i am sure that it is the subject and not the language. ruby is easy (proven by a a large amount of available software in ruby), but converting cvs is hard (proven by the fact that there are no more than 5 cvs converters) | 13:15 |
|
robinr
| the hard part about ruby there is the fact that it is another dependency. From looking at the code it is however a very appropriate language for solving the problem | 13:35 |
|
| seems fast too | 13:35 |
|
| and fromcvs is the only one so far that I've seen work | 13:36 |
|
| ok, haven't checked to cvs2cvn based one | 13:37 |
|
| s/to/out the/ | 13:37 |
|
matled
| corecode: well, you could put all stuff needed in one repository and add a makefile to run the stuff in-place instead of installing ruby modules | 14:06 |
|
| this would help a lot | 14:06 |
|
| and make the repository available as tarball too | 14:07 |
|
corecode
| pulling ruby-rbtree in? | 14:07 |
|
| i'd rather not | 14:07 |
|
matled
| I did stop when I saw that I'd have to install a ruby module somewhere | 14:07 |
|
| and that was after installing hg just to get the source code | 14:07 |
|
| and cloning 2 repositories | 14:08 |
|
corecode
| there you could have used the tarball | 14:08 |
|
| hgweb serves tars | 14:08 |
|
matled
| the webinterface was quite confusing for me | 14:08 |
|
corecode
| click on head rev, then on bz2 | 14:08 |
|
| i could arrange that you simply can put the other modules in the workdir and uses them from there | 14:09 |
|
| maybe supply a makefile which fetches the versions | 14:09 |
|
| and extracs them | 14:09 |
|
matled
| http://ww2.fs.ei.tum.de/~corecode/hg/fromcvs where to click? | 14:10 |
|
corecode
| either on manifest | 14:10 |
|
| or on the changeset id | 14:10 |
|
matled
| there.. at the top | 14:10 |
|
corecode
| yes | 14:10 |
|
matled
| I wouldn't have found it without help | 14:11 |
|
corecode
| well, if you want a tarball | 14:11 |
|
| you need a revision you want it from | 14:11 |
|
| so the natural thing would be to click the revision id | 14:11 |
|
| changeset id | 14:11 |
|
| and then go bz2 | 14:11 |
|
matled
| sure, if you know where it is you probably find it.. | 14:12 |
|
corecode
| i wouldn't know where it could be placed to make it more obvious | 14:12 |
| → mountie joined | 14:13 |
|
matled
| http://ww2.fs.ei.tum.de/~corecode/hg/fromcvs?cs=a4da2672cb53 e.g. here I see all the information in this 'table' above the diff | 14:13 |
|
| and wouldn't search the top for a tarball | 14:13 |
|
| well, I didn't | 14:13 |
|
corecode
| :) | 14:13 |
|
matled
| -corecode-hg-fromcvs-a4da2672cb53.tar.bz2 hooray, filenames beginning with '-' :) | 14:14 |
|
corecode
| haha | 14:15 |
|
cehteh
| touch '$(rm -rf .)' | 14:21 |
| → robfitz joined | 14:39 |
|
corecode
| hm. | 14:48 |
|
| maybe more | 14:48 |
|
| no | 14:49 |
|
| that's good | 14:49 |
|
| :) | 14:49 |
|
| ya ya | 14:49 |
|
| cehteh: when would that trigger? | 14:49 |
|
cehteh
| prolly never ;) | 14:50 |
|
| well .. maybe with cut'n'paste | 14:51 |
| → raalkml joined | 15:21 |
| → iano joined | 15:43 |
|
ruskie
| hmm how can one do a shalow clone with git 1.5? | 16:21 |
|
gitte
| corecode: *lol* You just proved the point about "harder on other people" for me... Thank you :-) | 16:22 |
|
| ruskie: a shallow clone is only possible when both sides include support for it (1.5 is safe, methinks). | 16:23 |
|
| In that case, you have to provide a "--depth <n>" argument to "git clone" or "git fetch". | 16:23 |
|
| The "<n>" is the depth in the ancestor chain. | 16:24 |
|
ruskie
| so 1 would just get the latest? | 16:24 |
|
gitte
| I think "0" would just get the latest. I don't remember. Try it! | 16:24 |
|
ruskie
| ahh can't work over http :( | 16:25 |
|
gitte
| Yes, that's right. | 16:25 |
|
ruskie
| guess I'll go complain to the ppl that maintain that to fix up their repo then... it fails mid clone due to a missing object... | 16:25 |
|
gitte
| There is not much we can do there: Over HTTP you usually fetch the complete packs anyway. | 16:25 |
|
ruskie
| thanks | 16:26 |
|
gitte
| ruskie: could also be that the information generated for HTTP (AKA dumb transports) is not updated properly. | 16:28 |
|
| You can check yourself: | 16:28 |
|
| Browse the repository with a webbrowser, look into "objects/info/pack/, fetch all these files and stash them into your local ".git/objects/pack/". | 16:29 |
|
| If http-fetch still complains about missing objects, they are really missing... | 16:29 |
| → BlindGlobe joined | 16:30 |
| → z3ro joined | 16:39 |
| → ferdy joined | 16:44 |
| → kukks joined | 16:46 |
| → GyrosGeier joined | 17:02 |
|
corecode
| gitte: i don't get you | 17:05 |
| → wereHamster joined | 17:14 |
|
wereHamster
| is there any way to make git-push chown the files to a certain group and make them world-unreadable (750)? | 17:15 |
| → kumbayo joined | 17:17 |
|
corecode
| umask? | 17:18 |
|
kumbayo
| hi, is there specific channel for stgit topics, or are these discussed here too? | 17:19 |
| → _jeremy joined | 17:20 |
| → DrNick2 joined | 17:27 |
|
kumbayo
| since nobody has problems with me asking stgit questions here :-) i will ask my question | 17:28 |
|
| newer versions of stgit do not allow a : in the pathname. is this intentional? i guess so, because of the new rev:path/to/file syntax for git-rev-parse | 17:30 |
|
| pathname -> patch name | 17:30 |
| → kumbayo joined | 17:46 |
|
cehteh
| gitte: nack ... git updated and fsck still segfaults .. but i think the repository is fucked up anyways | 17:48 |
|
wereHamster
| git-push: Pushing an empty <src> allows you to delete the <dst> ref from the remote repository. - what is an 'empty <src>'? 'git-push ... :refs/heads/to-delete' doesn't work | 17:53 |
|
gitte
| kumbayo: I don't know StGIT, so I cannot help you, unfortunately. But if you send your question to the Git list, I am sure it will get answered. | 18:16 |
|
| cehteh: Still with the same object? | 18:16 |
|
cehteh
| yes | 18:17 |
|
gitte
| wereHamster: why not make your repository directory chmod 0770? | 18:17 |
|
cehteh
| gitte: latter i have some time and i'll investigate it by myself then | 18:18 |
|
gitte
| cehteh: I suggest starting with an _empty_ repository, and just cp'ing the object into that. | 18:18 |
|
| That's how I tested here. | 18:18 |
|
| Just to make sure that it is not some nasty side effect of something completely (apparently) unrelated... | 18:19 |
|
cehteh
| gitte: yeah you seen my valgrind trace .. there is a uninitialized access before that which likely damages some datastructure | 18:19 |
|
| actually thats the point where to look | 18:20 |
|
kumbayo
| gitte: it looks like more patch names are considered invalid (/\;()), and i just used the : in my older patches | 18:20 |
|
cehteh
| since you confirmed that accessing that object works when trying alone .. the bug is somewhere ahead | 18:20 |
|
| i look later .. are you here in 1-2 hours? | 18:21 |
|
kumbayo
| and now i cant even stg remove the ones with the invalid names, but stg rename to a valid name still works :-) | 18:21 |
|
gitte
| cehteh: Probably. | 18:21 |
|
cehteh
| oki | 18:21 |
|
rlb
| If you have a project with major lines of development (say 1.0 vs 2.0, etc.), what are the arguments for having separate repositories as compared to multiple branches within the same repository? | 18:48 |
| → TommyBJ joined | 18:53 |
|
TommyBJ
| Is there a web project managenemt system avalible for GIT. Much like the trac for svn ? | 18:54 |
| → jeffpc joined | 18:59 |
| → spuk joined | 19:05 |
| → raalkml_ joined | 19:13 |
|
GyrosGeier
| rlb, there are none | 19:22 |
| DrNick2 → DrNick | 19:22 |
|
GyrosGeier
| rlb, use branches | 19:22 |
|
rlb
| GyrosGeier: so if you're actively working on both, you'd just have two clones, each with a different current branch? | 19:23 |
|
| I suppose the master branch might just be the main line of development... | 19:25 |
|
kblin
| if you use branches, you of course want two checkouts to work in ;) | 19:26 |
|
rlb
| kblin: then you'd just push each to the other (or to a central repo) if you wanted to be able to merge back and forth from time to time? | 19:28 |
|
wereHamster
| if I want to pull from one repository, and push to another, I'll end up with two refs with the same name, 'master' in the repo where I fetch from, and 'master' in the repo where I push to.. | 19:28 |
|
kblin
| well, actually I'd assume that a 1.0 branch is different enough from a 2.0 branch that I could just cherry-pick the occasional patch I want to merge | 19:29 |
|
rlb
| kblin: oh right -- I didn't mean a "full merge". | 19:29 |
|
GyrosGeier
| rlb, I usually work on one or the other branch, not both at a time | 19:30 |
|
kblin
| I was talking about a working dir per branch to avoid recompiling | 19:30 |
|
GyrosGeier
| rlb, so I cg-switch when I want to work on the other | 19:30 |
|
| kblin, can be done, but I recompile my stuff fairly often anyway | 19:30 |
|
kblin
| GyrosGeier: but if you keep switching from 1.0 to 2.0, you don't usually need full rebuilds all the time | 19:31 |
|
| I use git for wine, wine needs 15 minutes for a full build with ccache switched on, usually | 19:31 |
|
GyrosGeier
| well | 19:32 |
|
kblin
| if I switch branches often, I can't drink enough coffee to bridge that | 19:32 |
|
rlb
| In the case where you're only managing a ./debian dir, then multiple trees works better since the source in .. (which isn't managed by git) will vary. | 19:32 |
|
GyrosGeier
| you can work with shared object storage and multiple checkouts then | 19:32 |
|
| I agree that it does make sense in the case of wine | 19:32 |
|
kblin
| but of course I don't mind for the 5-file python project I have :) | 19:33 |
|
GyrosGeier
| exactly | 19:33 |
|
kblin
| so I guess your mileage may vary | 19:33 |
|
GyrosGeier
| in most of my projects I end up writing very generic classes | 19:34 |
|
| that get their own testcases and are subsequently split out into a separate project | 19:34 |
|
| typically I have around 30 classes in a project, of which 20 are exception classes that only have two methods or so | 19:35 |
|
| so each project builds in under ten seconds | 19:35 |
|
| everything that is larger than that is a candidate for generalisation of concepts | 19:36 |
|
rlb
| GyrosGeier: I was thinking about just having one repo that both of the checkouts push? to to keep it up to date -- either that, or if I rarely cherry-pick, then just do it directly from one repo to the other. How would a shared object store work? | 19:40 |
|
| (thanks for the help BTW) | 19:40 |
|
GyrosGeier
| rlb, the shared object store is realised with "alternates" | 19:46 |
|
| I think there is a HOWTO somewhere, but I've never needed it so far so I cannot tell you much about it | 19:46 |
|
rlb
| GyrosGeier: it seems like I might be fine with just separate working dirs for each version and pull/push between them (or use a central common repo)... | 19:49 |
|
GyrosGeier
| rlb, yes, that should be fine | 19:59 |
|
| rlb, the common object storage is good for saving disk space | 19:59 |
|
rlb
| GyrosGeier: ok, thanks -- disk space shouldn't be relevant in this case. | 20:03 |
|
gitte
| rlb: try "git clone -n -l -s wine-main/ wine-branch/" | 20:05 |
|
| (This assumes that you have a wine working dir & repo in wine-main/.) | 20:06 |
|
rlb
| gitte: ok, so looking at the manpage -- I see how that might be really fast. I assume you'll have to be careful not to move wine-main... | 20:06 |
|
gitte
| If you want to branch from "master", there is no need to do "-n". | 20:07 |
|
| rlb: you can move wine-main. But you have to adjust the alternates and remotes... | 20:07 |
|
rlb
| gitte: right. | 20:07 |
|
| (That's one thing I'm really enjoying about git. You can just edit various files when you need to make changes...) | 20:08 |
|
| gitte: anyway, thanks. | 20:09 |
|
| gitte: I'll probably just let the repos be independent for now. | 20:09 |
|
gitte
| rlb: Hey, it's my pleasure! | 20:13 |
|
| gitte is quite happy how the ':/blablub' thing works out in practice! | 20:15 |
| → anholt joined | 20:30 |
| → fork0_ joined | 20:35 |
| → cworth joined | 20:51 |
| ← wereHamster left | 21:02 |
|
cehteh
| gitte: ... tomorrow | 21:10 |
|
gitte
| ... okay. | 21:12 |
|
rlb
| Is master treated specially enough by the commands that it's somehow "awkward" to work on other branches regularly, or is that not an issue? | 21:57 |
| → merlyn joined | 22:03 |
|
merlyn
| OK, I think I have a grafting situation | 22:03 |
|
| A B C D E F G H => old devel | 22:04 |
|
| A B1 C1 => new devel | 22:04 |
|
| now I want the changes between C and H regrafted onto C1 | 22:04 |
|
| to make A B1 C1 D1 etc | 22:04 |
|
| Oh - C1 came from git-merge -s ours on B1 C | 22:04 |
|
| if that helps | 22:05 |
|
| anyone around for the challenge? | 22:05 |
| → [L]ash joined | 22:12 |
|
[L]ash
| hi all | 22:13 |
|
| is possible to move a file from a branch to another ? | 22:14 |
|
| or merge only a file and not all the branch | 22:14 |
|
gitte
| merlyn: sounds like a job for rebase, not for graft. | 22:14 |
|
| gitte has to be away for half an hour... | 22:15 |
| → gitster joined | 22:27 |
|
gitte
| Lash: yes, that's possible. | 22:43 |
|
merlyn
| I figured it out | 22:43 |
|
| careful edits. :) | 22:43 |
|
| lots of backups | 22:43 |
|
| but I got it | 22:44 |
|
gitte
| But since it is not necessarily what you want, it is not _that_ obvious. | 22:44 |
|
[L]ash
| gitte, how ? | 22:44 |
|
gitte
| The easiest way to get a file from another branch into the current branch is "git checkout other-branch file-name" | 22:45 |
|
| Of course, this is a copy, not a move. | 22:45 |
|
| merlyn: glad you figured it out. Did you see my script, edit-patch-series? | 22:46 |
|
| It would only need a single option, "--rebase", and a few lines, to make it easy what you wanted. | 22:46 |
|
[L]ash
| i write move but i intend copy | 22:47 |
|
| sorry | 22:47 |
|
gitte
| Lash: no problem. I thought so much. | 22:47 |
|
[L]ash
| gitte, an it ,erge also the file if it exist right? | 22:48 |
|
gitte
| merlyn: with this option, it would be as simple as switching to old devel, and saying "git edit-patch-series start C1". | 22:48 |
|
| merlyn: BTW I am glad that you are innocent ;-) | 22:48 |
|
| merlyn: Would you be interested in the "--rebase" feature? | 22:57 |
| → jeffpc joined | 23:07 |
|
merlyn
| well, "conviction erased" is not the same as "innocent" :) | 23:57 |
|
| and rather than a rebase, what I decided was to leave the history as-is and call it a merge. | 23:58 |
|
| it'll be interesting for historical reasons, I guesss. | 23:58 |
|
gitte
| okay. | 23:59 |
|
| Note that you can do that also with a rebase, just after branching. | 23:59 |