| From | Subject | Date |
|---|---|---|
| Martin Langhoff | [PATCH] cvsserver: Avoid miscounting bytes in Perl v5.8.x
At some point between v5.6 and 5.8 Perl started to assume its input,
output and filehandles are UTF-8. This breaks the counting of bytes
for the CVS protocol, resulting in the client expecting less data
than we actually send, and storing truncated files.
Signed-off-by: Martin Langhoff <martin@catalyst.net.nz>
---
This has gone unfixed for quite a while. I thought I had seen
a patch posted addressing it, but it may have been for something else.
In fact, our heavily patched gitweb.cgi has ...
| Dec 6, 11:38 pm 2006 |
| Andy Parkins | Topic descriptions
Hello,
I was just reading Junio's "what's cooking" summary, and it occurred to me
that it would be excellent if git had support for this sort of thing.
It seems fairly easy - it wouldn't have to be versioned information. Could we
simply make .git/refs files be more flexible in their syntax.
-----
<sha1>
<anything at all>
-----
I don't know where the UI would go; but it would let Junio generate his what's
cooking emails with cat .git/refs/*/*
Just an idea...
Andy
--...
| Dec 6, 5:53 pm 2006 |
| Junio C Hamano | Re: Topic descriptions
I think the right place to store that <anything at all>
information is per-branch configuration item. Perhaps:
[branch "ap/clone-origin"]
description = we talk about what this thing does and \
what the current status of it is.
I am unlikely to use such a thing for the "What's in" message,
though. The part that talks about "what the current status is"
is much easier to write when I need to talk about "the current";
otherwise I'd be forced to remember to think if I need ...
| Dec 6, 6:31 pm 2006 |
| Jakub Narebski | Re: What's cooking in git.git (topics)
Very nice. Less suprises for CVS users (with "update then commit"
I think it would be nice to have... but as it is very fresh
Looks nice, as an alternative to git-cherry-pick (which sometimes
Is having loadavg in gitweb, and not configured in server good idea?
It looks and reads better. I usually read only description,
as shortlog is not that useful unless you are interested in
given topic. At least for me.
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
-
| Dec 6, 5:51 pm 2006 |
| Junio C Hamano | Re: What's cooking in git.git (topics)
This only makes "update; edit; update; commit" to work. "edit;
commit; edit; commit; edit; update; commit" would not work,
because you would be faced to resolving the conflicts upon the
last update while your working tree is already contaminated with
your own changes (it can be done and experienced people have
done so, but you are talking about "CVS users" here).
We'd be much better off to encourage users to shake "update then
Then test it and fix breakage if any please.
-
| Dec 6, 6:14 pm 2006 |
| Andy Parkins | pushglobs
Hello,
The glob support in the fetches has gone down so well that I'm looking into
doing the same for pushrefs.
The push work is done in C; so there is obviously no globbing support from the
shell. I know that git does globbing in other places, so wanted to ask if
it's appropriate to use that rather than me write my own hacked up version?
The context is this: I'm extending builtin-push.c:add_ref() to catch globbed
refs and then recursively expand them.
Andy
--
Dr Andrew Parkins, M...
| Dec 6, 5:40 pm 2006 |
| Mitch Bradley | Seeking git recipe to grab a single file
I want to grab a single file from a remote git repository into the
current directory, which is not a git tree. Is there an easy way to do
that? I have tried using git-fetch and git-cat-file, without success.
Thanks,
Mitch Bradley
-
| Dec 6, 5:22 pm 2006 |
| Alex Riesen | Re: Seeking git recipe to grab a single file
If the remote repo has a gitweb interface than it's simple:
wget 'http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;h=0451f69353bad4d07de34fd4658f40b805bd467a;f=Kbuild'
Otherwise, there is no simple way to do it yet.
I would even guess you're the first to ask for it.
-
| Dec 6, 5:51 pm 2006 |
| Junio C Hamano | What's cooking in git.git (topics)
Here is a list of topics that are cooking; the commits marked
with '+' are in 'next', '-' are in 'pu'. Dates are when the
topic was last touched [*1*].
----------------------------------------------------------------
* ap/clone-origin (Wed Dec 6 12:07:23 2006 +0000)
+ Explicitly add the default "git pull" behaviour to .git/config on clone
This makes 'git clone' to mark the local 'master' to explicitly
merge with the corresponding remote branch, which would be a
sensible default.
As di...
| Dec 6, 5:19 pm 2006 |
| Johannes Schindelin | Re: What's cooking in git.git (topics)
Hi,
This is something I am looking forward to to test. Maybe in "next" for
I vote for putting this into "next" for a wider audience. It also would
help people to submit patches (it is kind of a hassle to branch "pu", so I
Yes, definitely cook it for at least a week; maybe I find the time to
The more I see the missing reaction, the less sure I am this is a sensible
thing to do.
And it would need more safety valves, not just documentation. For example,
I am not sure if a push fro...
| Dec 6, 7:42 pm 2006 |
| Junio C Hamano | What's in git.git (stable)
* The 'maint' branch has produced a new release 1.4.4.2
* In the 'master' branch:
- we now officially favor 'remotes' information to be in
$GIT_DIR/config, and 'git clone' records origin in there,
not in $GIT_DIR/remotes/origin (thanks to Andy Parkins).
- "git send-pack $URL :refs/heads/$branch" can be used to
delete a remote branch (so does "git push $URL :$ref" over
git native protocols).
- built-in shortlog lets you directly say "git shortlog
v2.6.18..master", i...
| Dec 6, 5:18 pm 2006 |
| Nicolas Pitre | [PATCH] change the unpack limit treshold to a saner value
Let's assume the average object size is x. Given n objects, the needed
storage size is n*(x + b), where b is the average wasted block size on
disk.
If those objects are packed, the needed storage becomes n*x + b so we
save on the block overhead. But there is the pack index which is
1024 + n*24 + b.
Trying to find the value of n where packed objects become an advantage,
we have:
n*x + n*b > n*x + n*24 + 2*b + 1024
n*b - 2*b > n*24 + 1024
(n - 2)*b > n*24 + 1024
So g...
| Dec 6, 5:08 pm 2006 |
| Nicolas Pitre | [PATCH take 2] change the unpack limit treshold to a saner v...
Currently the treshold is 5000. The likelihood of this value to ever be
crossed for a single push is really small making it not really useful.
The optimal treshold for a pure space saving on a filesystem with 4kb
blocks is 3. However this is likely to create many small packs
concentrating a large number of files in a single directory compared to
the same objects which are spread over 256 directories when loose. This
means we would need 512 objects per pack on average to approximagte the
sa...
| Dec 7, 12:01 am 2006 |
| Linus Torvalds | Re: [PATCH] change the unpack limit treshold to a saner value
Definitely not.
We have a much easier time handling many loose packed objects than many
pack-files. For many reasons, but two really obvious ones:
- pack-file indexes get read in on startup, and we maintain an explicit
list of them. Having lots of pack-files adds overhead that doesn't
exist for lots of loose objects.
- loose files are spread out over 256 subdirectories to make lookup
easier, packfiles are not (and always create an index file too).
So in general, as a tri...
| Dec 6, 9:08 pm 2006 |
| Nicolas Pitre | Re: [PATCH] change the unpack limit treshold to a saner value
Note that this setting is currently observed for pushes not pulls.
On the pull side you currentli need to provide -k for not exploding
packs.
So the question is what number of objects on average do pushes have? If
most pushes are below the treshold this is not going to be really
useful.
And I think 5000 is definitely way too high. 10 might be too small
indeed. 100 is maybe a good default to try out.
Nicolas
-
| Dec 6, 11:24 pm 2006 |
| Linus Torvalds | Re: [PATCH] change the unpack limit treshold to a saner value
It will depend a lot on the project, and "where" in the project you are.
For example, for most end developers, the "push" is likely going to be a
few commits (say, a days work). Probably on the order of a few tens to
maybe a few hundred objects. It's actually hard to create a pack with less
than ten objects if you have a few directory levels (a single small commit
in the kernel is usually 5-7 objects: commit + 2-3 levels of directory + a
couple of blobs).
For me, as I pull a big merg...
| Dec 6, 11:39 pm 2006 |
| Junio C Hamano | Re: [PATCH] change the unpack limit threshold to a saner value
I see you are optimizing for disk footprint, and this will
result in tons of tiny packs left between "repack -a".
I have not benched it yet, but the runtime pack handling code
was written assuming we have only a handful of big packs; I
suspect this change would affect the performance at runtime in
quite a bad way.
-
| Dec 6, 6:24 pm 2006 |
| Nicolas Pitre | Re: [PATCH] change the unpack limit threshold to a saner value
Possibly.
Still a treshold of 5000 is way too large IMHO.
Nicolas
-
| Dec 6, 8:19 pm 2006 |
| Marco Costalba | Fast access git-rev-list output: some OS knowledge required
I ask help to the list because my knowledge on this is not enough.
Currently qgit uses, socket based, QProcess class to read data from
'git rev-list' when loading the repository at startup.
The time it takes to read, without processing, the whole Linux tree
with this approach it's almost _double_ of the time it takes 'git
rev-list' to write to a file:
$git rev-list --header --boundary --parents --topo-order HEAD >> tmp.txt
We are talking of about 7s against less then 4s, on my box (war...
| Dec 6, 3:24 pm 2006 |
| Shawn Pearce | Re: Fast access git-rev-list output: some OS knowledge requi...
The revision listing machinery is fairly well isolated behind some
pretty clean APIs in Git. Why not link qgit against libgit.a and
just do the revision listing in process?
--
Shawn.
-
| Dec 6, 3:28 pm 2006 |
| Johannes Schindelin | Re: Fast access git-rev-list output: some OS knowledge requi...
Hi,
Because, depending on what you do, the revision machinery is not
reentrable. For example, if you filter by filename, the history is
rewritten in-memory to simulate a history where just that filename was
tracked, and nothing else. These changes are not cleaned up after calling
the internal revision machinery.
Hth,
Dscho
-
| Dec 6, 7:27 pm 2006 |
| Linus Torvalds | Re: Fast access git-rev-list output: some OS knowledge requi...
Well, it really wouldn't be that hard to add a new library interface to
"reset object state". We could fairly trivially either:
- walk all objects in the object hashes and clear all the flags.
- just clear all objects _and_ the hashes.
Yes, it implies a small amount of manual "management", but considering
that the reason it needs to be manual is that the functions simply _need_
the state, is that such a big deal?
Linus
-
| Dec 6, 8:47 pm 2006 |
| Marco Costalba | Re: Fast access git-rev-list output: some OS knowledge requi...
Where can I found some documentation (yes I know RTFS, but...) or,
better, an example of using the API to read git-rev-list output?
if it is possible I also would like to avoid to mess with internal git
API's, of course *if it is possible* ;-)
Thanks
Marco
-
| Dec 6, 3:34 pm 2006 |
| Shawn Pearce | Re: Fast access git-rev-list output: some OS knowledge requi...
builtin-rev-list.c. :-)
I think all you may need is:
#include "revision.h"
...
struct rev_info revs;
init_revisions(&revs, prefix);
revs.abbrev = 0;
revs.commit_format = CMIT_FMT_UNSPECIFIED;
argc = setup_revisions(argc, argv, &revs, NULL);
where argv just a char** of the arguments you were going to hand
to rev-list on the command line.
then get the data back:
static void show_commit(struct commit *commit)
{
const char * hex = sha1_to_hex(commit->object.sha1...
| Dec 6, 3:42 pm 2006 |
| Shawn Pearce | Re: Fast access git-rev-list output: some OS knowledge requi...
You'll also need to call:
setup_git_directory();
Although now that I think about it the library may not be enough
of a library. Some data (e.g. commits) will stay in memory forever
once loaded. Pack files won't be released once read; a pack recently
made available while the application is running may not get noticed.
Perhaps there is some fast IPC API supported by Qt that you could
use to run the revision listing outside of the main UI process,
to eliminate the bottlenecks you are seein...
| Dec 6, 3:51 pm 2006 |
| Marco Costalba | Re: Fast access git-rev-list output: some OS knowledge requi...
Qt it's very fast in reading from files, also git-rev-list is fast in
write to a file...the problem is I would not want the file to be saved
on disk, but stay cached in the OS memory for the few seconds needed
to be written and read back, and then deleted. It's a kind of shared
memory at the end. But I don't know how to realize it.
Also let git-rev-list to write directly in qgit process address space
would be nice, indeed very nice.
Marco
-
| Dec 6, 4:08 pm 2006 |
| Shawn Pearce | Re: Fast access git-rev-list output: some OS knowledge requi...
On a modern Linux (probably your largest target audience) a small
file which has a very short lifespan (few seconds) is unlikey to
hit the platter. Most filesystems will put the data into buffer
cache and delay writing to disk because temporary files are so
common on UNIX.
And ugly. :-)
SysV IPC (shared memory, semaphores) are messy and difficult to
get right. mmap against a random file in the filesystem tends
to work better on those systems which support it well, provided
that the file ...
| Dec 6, 4:18 pm 2006 |
| Junio C Hamano | Re: [RFC] Two conceptually distinct commit commands
I am not sure what needs to be commented on at this point, since
it is not yet clear to me where you want your proposal to lead
us.
I do not agree with your "three commands" or "two semantics"
characterization of the current way "git commit" works. "git
commit" without any optional argument already acts as if a
sensible default arguments are given, that is "no funny business
with additional paths, commit just what the user has staged
already."
"git commit" is primarily about committing what ...
| Dec 6, 2:31 pm 2006 |
| Carl Worth | Re: [RFC] Two conceptually distinct commit commands
Thanks for the comments you made here---that's the kind of thing I was
looking for.
As for where I'm trying to lead us, what I really want to do is to
help improve the learnability of git. A big part of that is about
improving the set of "use-oriented" documentation, (which describes
how to achieve tasks, as opposed to what might be termed "technically
oriented" documentation which describes how individual tools work). I
think too much of the existing documentation falls into the second
class.
...
| Dec 6, 7:29 pm 2006 |
| Jakub Narebski | Re: [PATCH 2/3] git-fetch: do not use "*" for fetching multi...
I just worry what would happen when someone would write e.g.
3.) The one with shell-like (fnmatch / glob) globbing
Pull: refs/heads/*:refs/remotes/origin/*
By the way, with globbing we really need some other way than
first Pull: line to select remote head to merge on "git pull".
For example "Merge:" line / remote.<name>.merge config var.
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
-
| Dec 6, 2:27 pm 2006 |
| Junio C Hamano | Re: [PATCH 2/3] git-fetch: do not use "*" for fetching multi...
Why?
URL: some-where
Pull: refs/heads/master:refs/remotes/origin/master
Pull: refs/heads/*:refs/remotes/origin/*
works just fine.
But we should encourage people to use config to define default
merge source per-branch.
-
| Dec 6, 2:39 pm 2006 |
| Terence | Most popular software bundles including Microsoft Office 200...
With the appreciation of your friendship our Group would like to represent a new special offer created for all the customers who prefer to use our services. Needless to say that we're trying to help you with your choices, because we offer a quality software at lowest prices on the web. Make your choice, don't miss a chance. We're always at your service. The following special offer will operate within next 7 days only
http://mumik-oem.com
Every effort has been made to ensure the accuracy of all information...
| Dec 6, 2:04 pm 2006 |
| Jakub Narebski | Re: [PATCH] Explicitly add the default "git pull" behaviour ...
I wouldn't go that far, as it would forbit perfectly good "git fetch"
from anywhere in the sources meaning "git fetch origin".
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
-
| Dec 6, 1:15 pm 2006 |
| Jakub Narebski | Re: [PATCH 2/3] git-fetch: do not use "*" for fetching multi...
'*' in destination part would mean $n / \n (n-th match for *).
And you need some way to mark if it is prefix match, or whole path match.
Ending prefix match with '/' is one way of doing this... Unless it would
be prefix match always, but I think this leads way to confusion.
Just a thought.
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
-
| Dec 6, 12:58 pm 2006 |
| Johannes Schindelin | Re: [PATCH 2/3] git-fetch: do not use "*" for fetching multi...
Hi,
Not to talk about portable, and as we saw, dependent on the C compiler
(you would have to make git compile with the same C compiler that perl was
compiled with).
So, please look into other options first.
Ciao,
Dscho
-
| Dec 6, 7:21 pm 2006 |
| Jakub Narebski | Re: [PATCH 2/3] git-fetch: do not use "*" for fetching multi...
No, not embedded in C, but embedded in shell script.
Use perl -ip instead of sed.
--
Jakub Narebski
Poland
-
| Dec 6, 7:38 pm 2006 |
| Michael Loeffler | Re: [PATCH 2/3] git-fetch: do not use "*" for fetching multi...
Am Mittwoch, den 06.12.2006, 17:58 +0100 schrieb Jakub Narebski:
I had the same idea after the sed problems with macos/solaris, but
embedded perl is really a bit horrible.
Then we could just use (.*) and \1..9 and use extended REs. The only
problem is this stupid sed thing, only GNU-sed has the -r
I would prefer the following ways to do this globfetch stuff:
1.) The original refspec:
Pull: refs/heads/master:refs/remotes/origin/master
2.) The one with "prefix match":
Pull: refs/heads/:...
| Dec 6, 2:16 pm 2006 |
| Junio C Hamano | Re: [PATCH 2/3] git-fetch: do not use "*" for fetching multi...
Please, don't do regex when talking about paths. Uniformly
using fnmatch/glob is less confusing. I do not see anything
wrong with Andy's refspec glob we already have. Although I
agree that the second asterisk in "src/*:dst/*" has a certain
"Huh?" factor to UNIX-trained eyes, I think it is quite obvious
even to new people what it does.
Also, while I agree that (2) is logical and less typing, I would
avoid cases where foo and foo/ behave differently when "foo"
itself is a directory/tree like th...
| Dec 6, 2:37 pm 2006 |
| Clifton Oakes | Most popular software bundles including Microsoft Office 200...
With the appreciation of your friendship our Group would like to represent a new special offer created for all the customers who prefer to use our services. Needless to say that we're trying to help you with your choices, because we offer a quality software at lowest prices on the web. Make your choice, don't miss a chance. We're always at your service. The following special offer will operate within next 7 days only
http://tarantullbabe.net
Every effort has been made to ensure the accuracy of all informa...
| Dec 6, 12:15 pm 2006 |
| Jakub Narebski | Re: git UI nit
Some of that stems from the "pipeline" model / implementation of git
commands, where every separate stage spews it's own warning and error
messages.
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
-
| Dec 6, 11:36 am 2006 |
| Han-Wen Nienhuys | Re: git UI nit
because a newbie doesn't know how to resolve that problem.
--
Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen
-
| Dec 6, 12:04 pm 2006 |
| Jakub Narebski | Re: git UI nit
But there are [at least] two ways to resolve this:
commit or revert (reset).
--
Jakub Narebski
Poland
-
| Dec 6, 12:23 pm 2006 |
| Jakub Narebski | Re: [PATCH] Add builtin merge-file, a minimal replacement fo...
Would it be hard to add "-p / --stdout" options, and "-q / --quiet" option?
I understand that non-standard output format options are rather out of
question...
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
-
| Dec 6, 11:30 am 2006 |
| Johannes Schindelin | [PATCH] merge-file: support -p and -q; fix compile warnings
Now merge-file also understands --stdout and --quiet options. While
at it, two compile warnings were fixed.
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
---
On Wed, 6 Dec 2006, Jakub Narebski wrote:
> Johannes Schindelin wrote:
>
> > merge-file has the same syntax as RCS merge, but supports only
> > the "-L" option.
>
> Would it be hard to add "-p / --stdout" options, and "-q /
> --quiet" option?
No.
But the documenta...
| Dec 6, 11:45 am 2006 |
| Johannes Schindelin | [PATCH] Add builtin merge-file, a minimal replacement for RC...
merge-file has the same syntax as RCS merge, but supports only the
"-L" option.
For good measure, a test is added, which is quite minimal, though.
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
---
Is it a good sign that the test makes up for 75% of this patch?
builtin-merge-file.c | 72 ++++++++++++++
builtin.h | 1 +
git.c | 1 +
t/t6023-merge-file.sh | 251 ++++++++++++++++---------------------------------
4 files changed,...
| Dec 6, 11:10 am 2006 |
| Johannes Schindelin | Re: [PATCH] Add builtin merge-file, a minimal replacement fo...
Oops. Here is a corrected patch:
Makefile | 1
builtin-merge-file.c | 72 ++++++++++++++++++++++++++++++
builtin.h | 1
git.c | 1
t/t6023-merge-file.sh | 116 +++++++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 191 insertions(+), 0 deletions(-)
diff --git a/Makefile b/Makefile
index cf69242..81cc7c4 100644
--- a/Makefile
+++ b/Makefile
@@ -275,6 +283,7 @@ BUILTIN_OBJS = \
builtin-ls-tree.o \
builtin-mailinfo.o \
...
| Dec 6, 11:26 am 2006 |
| Han-Wen Nienhuys | git UI nit
When merging changes into a dirty working copy, one may get
..
Updating 62a005d..7bbd698
Makefile: needs update
README: needs update
config.mak.in: needs update
configure.ac: needs update
fatal: Entry 'Makefile' not uptodate. Cannot merge.
..
This is bad error message; "uptodate" suggests that Makefile is too old.
The problem is the reverse. The Makefile has been
edited and hence it is 'newer'.
This message should say
Entry 'Makefile' is dirty.
Revert or commit changes bef...
| Dec 6, 10:22 am 2006 |
| Johannes Schindelin | Re: git UI nit
Hi,
Something like this?
-- snip --
[PATCH] Replace "needs update" by "dirty; needs commit"
This should clarify why a merge was not even started.
Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
---
read-cache.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/read-cache.c b/read-cache.c
index eae4745..0d22de2 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -721,7 +721,7 @@ int refresh_cache(unsigned int flags)
}
if (quiet)...
| Dec 6, 10:46 am 2006 |
| Han-Wen Nienhuys | Re: git UI nit
Yes - I'd just mention revert as an option too.
--
Han-Wen Nienhuys - hanwen@xs4all.nl - http://www.xs4all.nl/~hanwen
-
| Dec 6, 11:09 am 2006 |
| Johannes Schindelin | Re: git UI nit
Hi,
Actually, I like it that short.
We had an email on this list, where the poster said he could not merge
with Git. It turned out that the merge failed with conflicts, but he
did not bother reading through the messages, apparently because they were
too many.
Ciao,
Dscho
-
| Dec 6, 11:20 am 2006 |
| previous day | today | next day |
|---|---|---|
| December 5, 2006 | December 6, 2006 | December 7, 2006 |
| Hiten Pandya | Re: up? (emacs docbook xml ide) |
| Greg Kroah-Hartman | [PATCH 004/196] Chinese: add translation of SubmittingPatches |
| debian developer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Jan Engelhardt | intel iommu (Re: -mm merge plans for 2.6.23) |
git: | |
| Gerrit Renker | [PATCH 03/37] dccp: List management for new feature negotiation |
| Ingo Molnar | iwlwifi: fix build bug in "iwlwifi: fix LED stall" |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
