| From | Subject | Date |
|---|---|---|
| linux | Re: kernel.org mirroring (Re: [GIT PULL] MMC update)
I think I agree with you, but not as strongly. Certainly, having any
kind of effective cacheing (heck, just comparing the timestamp of the
relevant ref(s) with the If-Modified-Since: header) will help kernel.org
enormously.
But as soon as there's a push, particularly a release push, that
invalidates *all* of the popular pages *and* the thindering herd arrives.
The result is that all of the popular "what's new?" summary pages get
fetched 15 times in parallel and, because the front end ...
| Dec 10, 8:40 pm 2006 |
| J. Bruce Fields | asciidoc, docbook, "book" doctype
I've been fooling around with producing a longer piece of documentation
using material from the tutorials, etc., using the docbook backend and
"book" doctype. It's not working quite the way I'd expect. For
example, it doesn't format the literal blocks correctly, and man page
links aren't producing useful clickable links. Should I be going about
this some other way?
All I really want is automatically generated tables of contents and
cross-references.
--b.
-
| Dec 10, 8:20 pm 2006 |
| Jakub Narebski | Re: [ANNOUNCE] CGit v0.1-pre
Miscalculation: it is 5 with yours (6 counting gittracker).
--
Jakub Narebski
Poland
-
| Dec 10, 5:29 pm 2006 |
| Jakub Narebski | Re: [ANNOUNCE] CGit v0.1-pre
I have added this to GitWiki: check out
http://git.or.cz/gitwiki/InterfacesFrontendsAndTools#cgit
Hmmm... git has now 4 web interfaces (5 if counting gittracker, which works
but gittracker repository shows empty): gitweb in Perl, git-php in PHP, wit
in Python (is it actively developed? where it can be downloaded from?),
gitarella in Ruby, now CGit in C...
By the way, it is cgit, CGit or CGIt ;-p?
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
-
| Dec 10, 5:08 pm 2006 |
| Lars Hjemli | [ANNOUNCE] CGit v0.1-pre
CGit is another cgi-app for git.
It is written in C (using libgit.a), and implements an internal page
cache. A PoC version is available for cloning at
git://hjemli.net/pub/git/cgit
and it is also (barely) selfhosted at
http://hjemli.net/git/
For a quick summary of the cache algorithm, the project README is here:
http://hjemli.net/git/cgit/view/?id=5917c37ce30b3f0a374c9fa376955f51f1d7bfbf
Enjoy!
--
larsh
-
| Dec 10, 4:42 pm 2006 |
| Linus Torvalds | Re: [ANNOUNCE] CGit v0.1-pre
Your pseudo-algorithm is dubious:
name = generate_cache_name(request);
top:
if (!exists(name)) {
if (lock_cache(name)) {
generate_cache(request, name);
unlock_cache(name);
} else {
sched_yield();
goto top;
}
} else if (expired(name)) {
if (lock_cache(name)) {
generate_cache(request, name);
unlock_cache(name);
}
}
print_file(name);
You really should have:
if (!exists) {
if (!lock)
delay-and-repeat;
/* RETEST ...
| Dec 10, 6:04 pm 2006 |
| Johannes Schindelin | Re: [PATCH] remove "[PATCH]" prefix from shortlog output
Hi,
Use the source, Luke!
If "[PATCH" is there, but "]" is not, then eob will be NULL, and nothing
happens.
Well, actually it is not completely true: the code searches for "]" in the
_complete_ commit message (which _is_ terminated by '\0'). But only if it
is found, _and_ it is in the first line, the substring is trimmed away.
Hth,
Dscho
-
| Dec 10, 4:35 pm 2006 |
| Jakub Narebski | Re: [PATCH] remove "[PATCH]" prefix from shortlog output
What happens if you have "[PATCH" without closing "]"? Does it work (and
doesn't crash)? Does it strip anything?
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
-
| Dec 10, 4:10 pm 2006 |
| Doug Maxey | [RFC/PATCH] gitk: add current directory to main window title
From fe613c56b0079871e6b862077a9d673ca064cc16 Mon Sep 17 00:00:00 2001
From: Doug Maxey <dwm@bebe.enoyolf.org>
Date: Sun, 10 Dec 2006 14:02:50 -0600
Signed-off-by: Doug Maxey <dwm@enoyolf.org>
---
Based off gitk#master.
It helps me, being greyware challenged, keep track of which gitk is active
for a given directory.
---
gitk | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/gitk b/gitk
index 3dabc69..b8fd6ca 100755
--- a/gitk
+++ b/gitk
@@ -6293,6 +6293,7 @@ ...
| Dec 10, 1:31 pm 2006 |
| Jakub Narebski | Re: Using GIT to store /etc (Or: How to make GIT store a ...
The idea is to not store /etc in git directly, but use import/export
scripts, which for example saves permissions and ownership in some
file also tracked by git on import, and restores correct permissions
on export. That is what I remember from this discussion. This of course
means that you would have to write your own porcelain...
What about mentioned in other email IsiSetup?
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
-
| Dec 10, 11:18 am 2006 |
| Jakub Narebski | Re: Using GIT to store /etc (Or: How to make GIT store a ...
Kyle Moffett wrote:
> The simplest solution which admittedly breaks the ability of older
| Dec 10, 11:10 am 2006 |
| Jakub Narebski | Re: reexporting git repository via git-daemon
It should be "git clone --bare git://git.kernel.org/pub/scm/git/git.git"
or "git clone --bare git://git.kernel.org/pub/scm/git/git.git git.git"
True, the error messages of git-clone are bit cryptic and doesn't
give us much information. Does there exist such repository? Perhaps
WORKSFORME
$ git --version
git version 1.4.4.1
$ git clone --bare git://git.kernel.org/pub/scm/git/git.git
remote: Generating pack...
remote: Done counting 33587 objects.
remote: Deltifying 33587 ...
| Dec 10, 10:35 am 2006 |
| Arkadiusz Miskiewicz | Re: reexporting git repository via git-daemon
Now I tracked that down to git-daemon in version 1.4.2.4 not 1.4.4.2. Seems
that something was later fixed, so 1.4.4.2 is OK.
|
--
Arkadiusz Mi
| Dec 10, 10:43 am 2006 |
| Han Boetes | curl with ares support
Hi,
This is what my libcurl libs looks like:
~% pkg-config --libs libcurl
-lcurl -lcares -lidn -lssl -lcrypto -ldl -lz
But the git Makefile assumes '-lcurl' will do.
Bug identical to: https://trac.xiph.org/ticket/1092
# Han
--
_/| VK |\_
// o\ Decision maker, n.: The person in your office who /o \\
|| ._) was unable to form a task force before the music (_. ||
//__\ ...
| Dec 10, 10:26 am 2006 |
| Nicolas Vilz | Problems with git-svn authors file
hello,
i tried to use git-svn with author-files and got stuck with following
error message:
Use of uninitialized value in hash element at /usr/bin/git-svn line
2952.
Use of uninitialized value in concatenation (.) or string at
/usr/bin/git-svn line 2953.
Author: not defined in .git/info/svn-authors file
512 at /usr/bin/git-svn line 457
main::fetch_lib() called at /usr/bin/git-svn line 328
main::fetch() called at /usr/bin/git-svn line 187
my svn-authors file looks like ...
| Dec 10, 10:26 am 2006 |
| Jakub Narebski | Re: Collection of stgit issues and wishes
I use stgit 0.11
1056:[gitweb/web!git]$ stg help
usage: stg help <command>
Ah. I'm sorry, I haven't noticed this. It is
Hmmm... in stgit 0.11 "stg refresh --sign" once gave me Signed-off-by:
The git commands StGit uses to perform operations automatically record
changes in branches in reflog. What StGit does not provide is the "reason".
You do use git-update-ref?
--
Jakub Narebski
Poland
-
| Dec 10, 10:01 am 2006 |
| Jakub Narebski | Re: Collection of stgit issues and wishes
Yes, I want for StGit to provide reasons when updating HEAD. I know that
StGit manages it's own versioning of patches not using reflog -- fine.
What matters for me is reflog for HEAD after "stg commit; stg clean".
--
Jakub Narebski
Poland
-
| Dec 10, 4:02 pm 2006 |
| Catalin Marinas | Re: Collection of stgit issues and wishes
Yes, only for updating HEAD. The refs in refs/patches/<branch>/ are
written directly. I initialy wanted to add patch history support using
reflogs and added "git-update-ref -m ..." for the patch commits but I
found slow the pushing operation a bit. Do you only want to track the
reflogs for HEAD?
--
Catalin
-
| Dec 10, 3:26 pm 2006 |
| Catalin Marinas | Re: Collection of stgit issues and wishes
Just curious, do you run the "stg commit; stg clean" commands together
and in this order? Neither of them would update the HEAD. The "commit"
command simply removes the StGIT metadata for the applied patches
since it no longer needs to track them (permanently stored to the
repository). It doesn't change HEAD. The "clean" command only affects
the HEAD if there are empty applied patches but after a "commit" there
won't be any patches (only the unapplied ones which do not affect
HEAD).
Maybe we ...
| Dec 10, 4:24 pm 2006 |
| Jakub Narebski | Re: Collection of stgit issues and wishes
Ooops, I haven't been clear enough.
I meant that afer "stg commit; stg clean" I won't have any StGIT metadata,
but I'd have git metadata in reflog.
I'd like to have info in reflog for each command which changes head;
for example "push", "refresh", perhaps "pop", "float", "uncommit".
Just so I don't have long sequence of ref changes in reflog without
description of said changes after some work with StGIT on branch.
BTW. currently I use StGIT to manage a series of commits on ...
| Dec 10, 4:37 pm 2006 |
| Catalin Marinas | Re: RFC PATCH: support for default remote in StGIT
Yann started a thread on this but I didn't find the time to look at
this properly. He's idea was to store the remote branch information in
the StGIT metadata but I'd like to leave this for GIT to deal with.
The StGIT UI can probably be modified to display something useful but
With the recent changes, StGIT shares the config files with GIT and it
has direct access to git settings without the need to use
git-repo-config. Just use "config.has_key" and "config.get_option".
Maybe a ...
| Dec 10, 9:41 am 2006 |
| Kyle Moffett | Re: Using GIT to store /etc (Or: How to make GIT store a ...
The real problem I have with that is you literally have to duplicate
all sorts of functionality. I want to run "foo-status" in /etc and
get something useful, but if /etc is not a git directory in and of
itself then you have to duplicate most of "git-status" anyways. And
the same applies to all the other commands. From what I can see of
IsiSetup the tools for checking out, merging, modifying, cloning, etc
are all much more limited and immature than the ones available
through ...
| Dec 10, 11:35 am 2006 |
| Kyle Moffett | Re: Using GIT to store /etc (Or: How to make GIT store a ...
Hmm, unfortunately that has problems with security-related race
conditions when used directly for /etc. Think about what happens
with "/etc/shadow" in that case, for example. (/etc/.git is of
course 0700) I'm sure there are others where non-root daemons get
unhappy when they get an inotify event and their config files have
suddenly become root:root:0600. I also want to be able to "cd /etc
&& git status" to see what changed after running "apt-get update" or
maybe fiddling in ...
| Dec 10, 11:10 am 2006 |
| Jakub Narebski | Re: Using GIT to store /etc (Or: How to make GIT store a ...
>>> I actively use git to version, store and distribute an exim mail
| Dec 10, 11:26 am 2006 |
| Jakub Narebski | Re: Using GIT to store /etc (Or: How to make GIT store a ...
There is currently no place for ownership and extended attributes in
the tree object; and even full POSIX permissions might be challenge
because for example currently unused 'is socket' permission bit is
used for experimental commit-in-tree submodule support. And given Linus
stance that git is "content tracker"...
In the loooong thread "VCS comparison table" there was some talk
about using git (or any SCM) to manage /etc. Check out:
* Message-ID: ...
| Dec 10, 8:30 am 2006 |
| Clemens Buchacher | Re: [PATCH] editor: make sure $EDITOR is executed as a command
Hi,
Sorry about the missing subject.
Make sure $EDITOR is executed as a command. Otherwise, _editor may fail if
$EDITOR is set to something like 'editor', which is also a function within
cg-Xlib.
Signed-off-by: Clemens Buchacher <drizzd@aon.at>
---
commit 942341e051fdcbb77a6abfbc58cf08ef8cab388d
tree 96e8fd08cdc7c59b0d3d55d7cb5b4302db443aff
parent b6a6e87cb3e1368ad0f78c18fdb6c29dde4ae83e
author Clemens Buchacher <drizzd@aon.at> Sun, 10 Dec 2006 14:37:37 +0100
committer Clemens Buchacher ...
| Dec 10, 7:04 am 2006 |
| Clemens Buchacher | *** SPAM ***
Make sure $EDITOR is executed as a command
---
commit 942341e051fdcbb77a6abfbc58cf08ef8cab388d
tree 96e8fd08cdc7c59b0d3d55d7cb5b4302db443aff
parent b6a6e87cb3e1368ad0f78c18fdb6c29dde4ae83e
author Clemens Buchacher <drizzd@aon.at> Sun, 10 Dec 2006 14:37:37 +0100
committer Clemens Buchacher <drizzd@aon.at> Sun, 10 Dec 2006 14:37:37 +0100
cg-Xlib | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/cg-Xlib b/cg-Xlib
index c1262bf..9d04eb4 100755
--- a/cg-Xlib
+++ ...
| Dec 10, 6:57 am 2006 |
| Kyle Moffett | Re: Using GIT to store /etc (Or: How to make GIT store a ...
On Dec 10, 2006, at 10:06:14, Santi B
| Dec 10, 10:46 am 2006 |
| Jeff Garzik | Re: Using GIT to store /etc (Or: How to make GIT store a ...
It's a great idea, something I would like to do, and something I've
suggested before. You could dig through the mailing list archives, if
you're motivated.
I actively use git to version, store and distribute an exim mail
configuration across six servers. So far my solution has been a 'fix
perms' script, or using the file perm checking capabilities of cfengine.
But it would be a lot better if git natively cared about ownership and
permissions (presumably via an ...
| Dec 10, 7:49 am 2006 |
| Kyle Moffett | Using GIT to store /etc (Or: How to make GIT store all f ...
I've recently become somewhat interested in the idea of using GIT to
store the contents of various folders in /etc. However after a bit
of playing with this, I discovered that GIT doesn't actually preserve
all permission bits since that would cause problems with the more
traditional software development model. I'm curious if anyone has
done this before; and if so, how they went about handling the
permissions and ownership issues.
I spent a little time looking over how GIT stores ...
| Dec 10, 6:40 am 2006 |
| sbejar | Re: Using GIT to store /etc (Or: How to make GIT store a ...
I have not used it, but you could try:
http://www.isisetup.ch/
that uses git as a backend.
Santi
-
| Dec 10, 8:06 am 2006 |
| Linus Torvalds | Re: globs in partial checkout?
Not historically at all. "git checkout" needed exact filenames in older
versions.
However, since about 1.4.4.1 or so, it now does the same filename
expansion as "git add" etc does, which means that you can give it a
directory name and it will check out everything under that directory, or
you can give it a pattern, and it should glob it. But it sounds like you
may have a slightly older version of git (the pathname matching really is
fairly recent).
Linus
-
| Dec 10, 1:13 pm 2006 |
| Marco Costalba | Re: [RFC \ WISH] Add -o option to git-rev-list
Becuase it's there where I store the file content.
Function parseSingleBuffer(ba) does only the indexing. But the file
content is stored in QByteArray objects (little wrappers around a
const char* []). So the fread() in the byte array object is the _only_
I consistently have len == 65536 bytes until the last fread() where
it's less. See below run against qgit own repository with 'len'
printed inside while loop.
$ ./qgit
Found GNU source-highlight 2.5
len is <65536>
len is <65536>
len ...
| Dec 10, 3:35 pm 2006 |
| Linus Torvalds | Re: [RFC \ WISH] Add -o option to git-rev-list
Right. Because every time you sleep, you sleep for 100 ms.
That's why I was saying that you need to add polling to the thing. I don't
know what the QT interfaces to asynchronous polling file descriptors are,
but as long as you just blindly wait for 100ms whenever you run out of
data, things will always suck.
Using "fread()" hid this problem, because the thing would block in
How about you just compare something simpler:
git-rev-list | cat > /dev/null
vs
git-rev-list > ...
| Dec 10, 5:51 pm 2006 |
| Marco Costalba | Re: [RFC \ WISH] Add -o option to git-rev-list
Ok. Perhaps I'm doing something wrong but the following code it's
always 10% slower then the temporary file one (4.7s against 4.3s for
linux tree)
bool DataLoader::start(const QStringList& args, const QString& workDir) {
QDir::setCurrent(workDir);
_file = popen(args.join(" ").ascii(), "r");
if (!_file)
return false;
loadTime.start();
guiUpdateTimer.start(10, true); // will call on_timeout() in 10ms
return true;
}
void DataLoader::on_timeout() {
if ...
| Dec 10, 3:05 pm 2006 |
| Linus Torvalds | Re: [RFC \ WISH] Add -o option to git-rev-list
Why don't you use the pipe and standard read()?
Even if you use "popen()" and get a "FILE *" back, you can still do
int fd = fileno(file);
and use the raw IO capabilities.
The thing is, temporary files can actually be faster under Linux just
because the Linux page-cache simply kicks ass. But it's not going to be
_that_ big of a difference, and you need all that crazy "wait for rev-list
to finish" and the "clean up temp-file on errors" etc crap, so there's no
way it's a better ...
| Dec 10, 11:16 am 2006 |
| Michael S. Tsirkin | Re: globs in partial checkout?
Seems like this was post-1.4.4.1. Just updated to 1.4.4.2 and this works for me now,
thanks.
--
MST
-
| Dec 10, 2:07 pm 2006 |
| Linus Torvalds | Re: [RFC \ WISH] Add -o option to git-rev-list
Why do you seem to be doing a "new" on every iteration inside the loop?
Also, why do you have that strange FILE_BLOCK_SIZE thing, and in
particular the "if (len < FILE_BLOCK_SIZE)" check? One thing that pipes vs
files do is the blocking factor.
Especially with older kernels, I _guarantee_ you that you'll only ever get
4kB at a time, so because of that "if (len < 64kB) break" thing, the only
thing you're doing is to make sure things suck performance-wise, and you
won't be reading ...
| Dec 10, 3:16 pm 2006 |
| Marco Costalba | Re: [RFC \ WISH] Add -o option to git-rev-list
Two things.
- memory use: the next natural step with files is, instead of loading
the file content in memory and *keep it there*, we could load one
chunk at a time, index the chunk and discard. At the end we keep in
memory only indexing info to quickly get to the data when needed, but
the big part of data stay on the file.
- This is probably my ignorance, but experimenting with popen() I
found I could not know *when* git-rev-list ends because both feof()
and ferror() give 0 after a fread() ...
| Dec 10, 12:51 pm 2006 |
| Marco Costalba | Re: [RFC \ WISH] Add -o option to git-rev-list
Of course is
if (canceling) {
deleteLater();
return;
}
Sorry, cut & paste typo ;-)
-
| Dec 10, 3:09 pm 2006 |
| Marco Costalba | [RFC \ WISH] Add -o option to git-rev-list
I have done some tests about reading git-rev-list output with
different IPC facilities:
- Native Qt QProcess socket based IPC
- pipe based: popen() and fread()
- redirecting git-rev-list to a file (under tmpfs) and 'block reading'
back the file: read() under Qt QFile class. The file, always in
memory, is deleted at the end of loading.
I have tested with different block sizes and different CPU speed on
linux and git trees.
The averaged results on linux tree (about 30MB of data) and ...
| Dec 10, 4:38 am 2006 |
| Linus Torvalds | Re: [RFC \ WISH] Add -o option to git-rev-list
Well, that's still just going slower than swapping.
The reason loading things into memory is nice is that:
- in the common case, you don't need to do anything else.
- if the machine is low on memory, it can page things out just about as
easily as you could write things to a file anyway.
So don't worry too much about low-memory situations. Yes, there are cases
where it's better to keep things in files and simply not have a big
working set AT ALL, but if you keep something in a ...
| Dec 10, 1:08 pm 2006 |
| Michael S. Tsirkin | globs in partial checkout?
I'm trying to checkout some files after doing "clone -n".
Should using globs there work? It doesn't:
st@mst-lt:~/scm/wireless-dev$ git checkout master 'include/net/ieee80211*.h'
error: pathspec 'include/net/ieee80211*.h' did not match any file(s) known to
git.
Did you forget to 'git add'?
mst@mst-lt:~/scm/wireless-dev$ git ls-tree master -- include/net/ | grep iee
100644 blob b174ebb277a96668f058e469b0753503c34f164b include/net/ieee80211.h
100644 blob eb476414fd726701d032e9e517751b9d3f7e38df ...
| Dec 10, 1:00 pm 2006 |
| Linus Torvalds | Re: [RFC \ WISH] Add -o option to git-rev-list
That's because fread() will block until it gets all data. Did you actually
ever try this with a uncached tree and did you compare what you got with a
plain "read()".
On older kernels, I guarantee that you get 4kB at a time for reads, even
for a blocking pipe. Because we have bigger pipe buffers these days, it
_may_ return 64kB at a time every time, but only if the writer is much
faster than the reader.
Based on the fact that you say that "read()" was ten times slower than ...
| Dec 10, 3:53 pm 2006 |
| Linus Torvalds | Re: [RFC \ WISH] Add -o option to git-rev-list
Btw, I should obviously clarify that. You should _always_ worry about
low-memory situations, but the only real issue is really "working set
size", not "data in files or in memory".
If the file representation is very dense (like the git pack-files are, for
example), then it may well make sense to keep the data in a file, just
because it's smaller there than if you keep it in expanded form in memory.
Also, it's nice to keep stuff in the filesystem rather than in process VM
memory, ...
| Dec 10, 1:19 pm 2006 |
| Marco Costalba | Re: [RFC \ WISH] Add -o option to git-rev-list
Yes it's right. Thanks!
But it's still slow. Almost one second (985ms) to read the little qgit repo:
$ ./qgit HEAD
Found GNU source-highlight 2.5
count is <-1>
count is <60169>
count is <-1>
count is <60505>
count is <-1>
count is <61462>
count is <-1>
count is <61911>
count is <-1>
count is <61392>
count is <-1>
count is <61880>
count is <-1>
count is <62009>
count is <-1>
count is <62549>
count is <-1>
count is <21354>
count is <0>
$
As a compare the temporary file ...
| Dec 10, 5:15 pm 2006 |
| Alex Riesen | Re: [RFC \ WISH] Add -o option to git-rev-list
Well, it is usually possible to redirect stdout directly into a file
(see dup2). "Usually", unless you want windows which as always has
it's own stupid way of doing simple things. Nevertheless, it's
Sadly, you're right. Almost every command-line program got the option.
It still is the fastest you can get.
-
| Dec 10, 7:54 am 2006 |
| Jakub Narebski | Re: Collection of stgit issues and wishes
And as far as I can see it doe not use git credentials (user.name and
And yet another one: better support for reflog, namely giving the "reason"
i.e. the reflog message (like "stg push: <subject>", "stg refresh:
<subject>", "stg pop: <subject>", "stg commit" etc.), like git-rebase,
git-commit --amend and git-am (for example) does.
P.S. The Vendor: field in stgit RPM has incorrectly
Catalin Marinas <catalin.marinas@gmail.org>
instead of
Catalin Marinas ...
| Dec 10, 4:06 am 2006 |
| Jakub Narebski | Re: Collection of stgit issues and wishes
And another one: git uses VISUAL, then EDITOR, while stgit uses EDITOR
only, so when I prepare VISUAL for git (I use emacsclient), stgit still
uses EDITOR.
--
Jakub Narebski
Warsaw, Poland
ShadeHawk on #git
-
| Dec 10, 1:55 am 2006 |
| Johannes Schindelin | Re: [PATCH 1/3] diff_tree_sha1(): avoid rereading trees ...
Hi,
Okay, after thinking about it, I agree. merge-recursive is really the only
user for such a diff. So, I do not think EMPTY_TREE would be useful.
Ciao,
Dscho
-
| Dec 10, 3:49 pm 2006 |
| Nicolas Pitre | Re: [PATCH] remove "[PATCH]" prefix from shortlog output
Hmmm well, right. And of course I failed to notice that code was there.
I think I was corrupted by the dark side and failed to properly "use the
Confirmed.
Nicolas
-
| Dec 10, 8:17 pm 2006 |
| Junio C Hamano | Re: [PATCH] remove "[PATCH]" prefix from shortlog output
The problem is that you forgot that the lines are indented when
acting as a filter.
How about this? It also contains the extra whitespace removal
from the author name.
diff --git a/builtin-shortlog.c b/builtin-shortlog.c
index 7a2ddfe..3fc43dd 100644
--- a/builtin-shortlog.c
+++ b/builtin-shortlog.c
@@ -188,18 +188,25 @@ static void read_from_stdin(struct path_list *list)
bob = buffer + strlen(buffer);
else {
offset = 8;
- if (isspace(bob[-1]))
+ while (buffer + ...
| Dec 10, 4:32 pm 2006 |
| Johannes Schindelin | Re: [PATCH] remove "[PATCH]" prefix from shortlog output
Hi,
Of course!
And your patch looks correct to me.
Ciao,
Dscho
-
| Dec 10, 4:41 pm 2006 |
| Johannes Schindelin | Re: [PATCH] remove "[PATCH]" prefix from shortlog output
Hi,
From the current builtin-shortlog.c:128ff:
if (!strncmp(oneline, "[PATCH", 6)) {
char *eob = strchr(oneline, ']');
if (eob) {
while (isspace(eob[1]) && eob[1] != '\n')
eob++;
if (eob - oneline < onelinelen) {
onelinelen -= eob - oneline;
oneline = eob;
}
}
...
| Dec 10, 3:40 pm 2006 |
| Robin Rosenberg | Dec 10, 8:39 am 2006 | |
| Robin Rosenberg | Dec 10, 4:48 pm 2006 | |
| Robin Rosenberg | [PATCH] Make cvsexportcommit work with filenames with sp ...
From: Robin Rosenberg <robin.rosenberg@dewire.com>
This patch uses git-apply to do the patching which simplifies the code a lot
and also uses one pass to git-diff. git-apply gives information on added,
removed files as well as which files are binary.
Removed the test for checking for matching binary files when deleting them
since git-apply happily deletes the file. This is matter of taste since we
allow some fuzz for text patches also.
Error handling was cleaned up, but not much ...
| Dec 10, 4:30 pm 2006 |
| Junio C Hamano | Re: [PATCH] Make cvsexportcommit work with filenames wit ...
Maybe I am missing something. It tells you about added or
removed files (either binary or non-binary).
I'd prepare a pair of practice patch files. "forward" has
creation, "reverse" has addition.
$ git diff-tree -p --binary fe142b3a >forward.patch
$ git diff-tree -R -p --binary fe142b3a >reverse.patch
$ git apply --summary --numstat forward.patch
50 20 git-cvsexportcommit.perl
145 0 t/t9200-git-cvsexportcommit.sh
- - t/test9200a.png
- - ...
| Dec 10, 2:27 pm 2006 |
| Robin Rosenberg | [PATCH] Make cvsexportcommit work with filenames with sp ...
From: Robin Rosenberg <robin.rosenberg@dewire.com>
This patch uses git-apply to do the patching which simplifies the code a lot.
Removed the test for checking for matching binary files when deleting them
since git-apply happily deletes the file. This is matter of taste since we
allow some fuzz for text patches also.
Error handling was cleaned up, but not much tested.
Signed-off-by: Robin Rosenberg <robin.rosenberg@dewire.com>
---
Updated patch using --numstat to figure which files are ...
| Dec 10, 8:45 am 2006 |
| Alex Riesen | Re: Easy shell question: how to make a script killing al ...
Oh, I see now ("Fast access git-rev-list output...").
BTW, I just cannot reproduce that at all (on Linux):
time { git rev-list --all > /tmp/ggg; cat /tmp/ggg >/dev/null; }
tends to be somewhat slower than
time git rev-list --all | cat >/dev/null
Dunno. It's hard to assess on "small" repos, like kernel. They feel
almost equally fast (maybe because qgit checks working directory too).
popen(3) usually uses pipe(2). It's also awkward with regard to
shell metacharacters and ...
| Dec 10, 7:25 am 2006 |
| Junio C Hamano | Re: [PATCH] shortlog: fix segfault on empty authorname
As far as I know, commit-tree removes the extra space if exists,
so your fix would be fine in practice.
People could write crappy replacements of plumbing, and we may
end up with names with trailing whitespaces, but with your fix
at least that would not make us crash, and it may even be
considered a feature -- it would serve as a coalmine canary to
detect such a broken alternative program that creates bogus
commit objects.
We might want to tighten fsck-objects to warn about them,
though. ...
| Dec 9, 11:01 pm 2006 |
| Johannes Schindelin | Re: [PATCH] shortlog: fix segfault on empty authorname
Hi,
This is exactly the kind of assumption which led to the bug to begin with.
Ciao,
Dscho
-
| Dec 10, 3:43 pm 2006 |
| Catalin Marinas | Re: Collection of stgit issues and wishes
Since this list gets changed pretty often, I would rather add TODO
Bugs wiki pages on http://wiki.procode.org/cgi-bin/wiki.cgi/StGIT
(maybe I should create a page on one of the open-source hosting sites
and get some bug-tracking support). I keep the TODO file mainly for
what I plan to implement and, while I agree with many of the issues
you point below, I don't guarantee I have time to fix/implement.
From your list below, I removed those which I don't have any comments
That's a feature in ...
| Dec 10, 9:25 am 2006 |
| Arkadiusz Miskiewicz | Re: reexporting git repository via git-daemon
Tested - result is the same, git-damon strace:
[pid 6686] write(1, "00408419a453dc088b25b63ab1746d3d7e679caf686d
refs/tags/v1.4.1.1\n", 64) = 64
[pid 6686] write(2, "fatal: ", 7) = 7
[pid 6686] write(2, "corrupted pack
file ./objects/pack/pack-bc830a5d1c2efa3b727ef9af8faba13c3e719395.pack", 85)
= 85
Options handling in git* is a nightmare. It accepts non-existant options. You
--
Arkadiusz Mi
| Dec 10, 10:28 am 2006 |
| Robin Rosenberg | Re: reexporting git repository via git-daemon
You proably ment git clone --bare git://git.kernel.org/pub/scm/git/git.git
Maybe git shouldn't accept useless (in this case) options.
-- robin
-
| Dec 10, 10:22 am 2006 |
| Junio C Hamano | Re: reexporting git repository via git-daemon
I do. I wanted to see if it reproduced but it didn't for me.
-
| Dec 10, 2:39 pm 2006 |
| Arkadiusz Miskiewicz | Re: reexporting git repository via git-daemon
after:
$ git repack -a -d
Generating pack...
Done counting 33587 objects.
Deltifying 33587 objects.
100% (33587/33587) done
Writing 33587 objects.
100% (33587/33587) done
Total 33587, written 33587 (delta 23205), reused 33587 (delta 23205)
Pack pack-bc830a5d1c2efa3b727ef9af8faba13c3e719395 created.
the problem disapears and I can safely reexport git repository.
Does anyone care about this bug in git?
--
Arkadiusz Mi
| Dec 10, 9:42 am 2006 |
| Alan Chandler | Re: [PATCH] Documentation/git-commit: rewrite to make it ...
The "but" in this sentence doesn't seem right to me, I would either
use "although", or slightly better (IMHO) make it two sentences
Tell the command to automatically stage files that have been modified
and deleted. Note that files that you have not told git about are not
included with this option.
--
Alan Chandler
http://www.chandlerfamily.org.uk
-
| Dec 10, 2:17 am 2006 |
| Junio C Hamano | Re: [PATCH] Documentation/git-commit: rewrite to make it ...
Let's keep plumbing documentation technical reference material,
but allow more newbie friendliness in Porcelain-ish
documentation.
-
| Dec 10, 4:05 pm 2006 |
| Alan Chandler | Re: Documentation/git-commit.txt
regardless, I think "it" should become "them"
... it is tracking and commit them automatically.
--
Alan Chandler
http://www.chandlerfamily.org.uk
-
| Dec 10, 2:23 am 2006 |
| Nicolas Pitre | Re: [PATCH] Documentation/git-commit: rewrite to make it ...
I disagree. Clarity should be the first goal. And the fact that even
modified files have to be specified is something worth enphasizing,
especially since this is not something other systems do.
Nicolas
-
| Dec 10, 3:07 pm 2006 |
| J. Bruce Fields | Re: [PATCH] Documentation/git-commit: rewrite to make it ...
OK, OK. Shortest I can manage then is:
by using gitlink:git-add[1] to add new or modified files to the
next commit. This adds a file's current contents only; run
gitlink:git-add[1] again to include any subsequent changes.
which may not be any improvement.
--b.
-
| Dec 10, 3:41 pm 2006 |
| J. Bruce Fields | Re: [PATCH] Documentation/git-commit: rewrite to make it ...
Or maybe: "by using gitlink:git-add[1] to add new content (of either new
or newly modified files) to the next commit."
Man pages are reference documentation, so I figure it's OK to sacrifice
a little newbie-friendliness for accuracy and concision.
I dunno, I think basically the right content is there and Junio should
just commit it (after the git-rm change?), and then allow the rest of us
nitpickers to submit patches against the result to our heart's
content....
--b.
-
| Dec 10, 2:00 pm 2006 |
| Jeff Garzik | Re: kernel.org mirroring (Re: [GIT PULL] MMC update)
If gitweb produced cache-friendly headers, squid could definitely serve
as an HTTP front-end ("HTTP accelerator" mode in squid talk).
In fact, given kernel.org's slave1/slave2<->master setup, that's a
pretty natural fit for caching files and/or cache-aware CGI output.
You could even replace rsync to the slaves, if squid was serving as the
front-end accelerator running on the slaves, communicating to the master.
squid is smart enough to hold off a thundering herd, and only pulls
single ...
| Dec 10, 3:14 pm 2006 |
| Jeff Garzik | Re: kernel.org mirroring (Re: [GIT PULL] MMC update)
The CGI spec does not at all guarantee that the CGI environment will
contain all the HTTP headers sent by the client. That was the point of
the environment dump script -- you can see exactly which headers are,
and are not, passed through to CGI.
CGI only /guarantees/ a bare minimum (things like QUERY_STRING,
PATH_INFO, etc.)
It's not meant to output the sample file. It outputs the server
metadata sent to the CGI script (the environment variables). The sample
Certainly. That ...
| Dec 10, 3:05 pm 2006 |
| Jeff Garzik | Re: kernel.org mirroring (Re: [GIT PULL] MMC update)
It's impossible, Apache doesn't supply e-tag info to CGI programs. (it
does supply HTTP_CACHE_CONTROL though apparently)
You could probably do it via mod_perl.
Jeff
-
| Dec 10, 5:41 am 2006 |
| Jeff Garzik | Re: kernel.org mirroring (Re: [GIT PULL] MMC update)
squid seems to work well as an HTTP accelerator (reverse proxy).
Apache's mem|disk cache stuff fails miserably.
Unfortunately squid development seems to have slowed in recent years.
Jeff
-
| Dec 10, 3:08 pm 2006 |
| rda | Re: kernel.org mirroring (Re: [GIT PULL] MMC update)
In the case of Perl scripts, it's not really the fork/exec overhead,
but the Perl startup overhead that you want to try to optimize. But
given your later statement (lots of spare cpu), this ends up just
being a bit of a latency hit. In general, I think mod_perl has a
much bigger impact when you have a database to connect to at startup.
-
| Dec 10, 2:43 am 2006 |
| Jakub Narebski | Re: kernel.org mirroring (Re: [GIT PULL] MMC update)
By ETag info you mean access to HTTP headers sent by browser
If-Modified-Since:, If-Match:, If-None-Match: do you?
So the cache verification should be wrapped in if ($ENV{MOD_PERL}) ?
--
Jakub Narebski
Poland
-
| Dec 10, 6:02 am 2006 |
| H. Peter Anvin | Re: kernel.org mirroring (Re: [GIT PULL] MMC update)
I/O - nonexistent; that stuff will be in memory.
CPU - we have more CPU than you can shake a stick at, and it's 95+% idle.
*NOT AN ISSUE*.
-hpa
-
| Dec 10, 12:05 am 2006 |
| Jakub Narebski | Re: kernel.org mirroring (Re: [GIT PULL] MMC update)
>>> It's impossible, Apache doesn't supply e-tag info to CGI programs.
| Dec 10, 12:11 pm 2006 |
| Jakub Narebski | Re: kernel.org mirroring (Re: [GIT PULL] MMC update)
Well, the idea (perhaps stupid idea: I don't know how caching engines
/ reverse proxy works) was that there would be caching engine / reverse
proxy in the front (Squid for example) would cache results and serve it
to rampaging hordes. But this caching engine has to ask gitweb if the
cache is valid using "If-Modified-Since:" and "If-None-Match:" headers.
What about the other idea, the one with raising expires to infinity for
immutable pages like "commit" view for commit given by SHA-1? Even ...
| Dec 10, 1:27 pm 2006 |
| H. Peter Anvin | Re: kernel.org mirroring (Re: [GIT PULL] MMC update)
If that was the only time that happened, it would be a non-issue, since
that only happens once every 96 hours. However, the problem is that we
now have lots of large datasets that blow out the caches on a much more
frequent basis.
-hpa
-
| Dec 10, 2:01 pm 2006 |
| Martin Langhoff | Re: kernel.org mirroring (Re: [GIT PULL] MMC update)
It is up to the script (CGI or via mod_perl) to set the status to 304
and finish execution. Just setting the status to 304 does not
forcefully end execution as you may want to cleanup, log, etc.
cheers,
martin
-
| Dec 10, 7:16 pm 2006 |
| Jakub Narebski | Re: kernel.org mirroring (Re: [GIT PULL] MMC update)
I have checked that at least Apache 2.0.54 passes HTTP_IF_MODIFIED_SINCE
First, it is better to use $projects_list which is projects index file
in the format:
<project path> SPC <project owner>
where <project path> is relative to $projectroot and is URI encoded; well
at least SPC has to be URI (percent) encoded. <project owner> is owner
of given project, and is also URI encoded (one would usually use '+' in
the place of SPC here).
Gitweb now can generate projects list in above format, ...
| Dec 10, 3:59 pm 2006 |
| Jeff Garzik | Re: kernel.org mirroring (Re: [GIT PULL] MMC update)
You can use this attached shell script as a CGI script, to see precisely
what information Apache gives you. You can even experiment with passing
back headers other than Content-type (such as E-tag), to see what sort
of results are produced. The script currently passes back both E-Tag
and Last-Modified of a sample file; modify or delete those lines to suit
Sorry, I was /assuming/ mod_perl would make this available. The HTTP
header info is available to all Apache modules, but I confess ...
| Dec 10, 6:45 am 2006 |
| Martin Langhoff | Re: kernel.org mirroring (Re: [GIT PULL] MMC update)
For a high-traffic setup like kernel.org, you can setup a local
reverse proxy -- it's a pretty standard practice. That allows you to
control a well-behaved and locally tuned caching engine just by
emitting good headers.
It beats writing and maintaining an internal caching mechanism for
each CGI script out there by a long mile. It means there'll be no
further tunables or complexity for administrators of other gitweb
installs.
cheers,
martin
-
| Dec 10, 3:01 pm 2006 |
| Jakub Narebski | Re: kernel.org mirroring (Re: [GIT PULL] MMC update)
Sometimes it is easier to use ETags, sometimes it is easier to use
Last-Modified:. Usually you can check ETag earlier (after calling
git-rev-list) than Last-Modified (after parsing first commit). But
some pages doesn't have natural ETag...
Besides, because ETag is HTTP/1.1 we should provide and validate
both.
P.S. Any hints to how to do this with CGI Perl module?
--
Jakub Narebski
Poland
-
| Dec 10, 3:09 am 2006 |
| Linus Torvalds | Re: kernel.org mirroring (Re: [GIT PULL] MMC update)
Guys, you're missing something fairly fundamnetal.
It helps almost _nothing_ to support client-side caching with all these
fancy "If-Modified-Since:" etc crap.
That's not the _problem_.
It's usually not one client asking for the gitweb pages: the load comes
from just lots of people independently asking for it. So client-side
caching may help a tiny tiny bit, but it's not actually fixing the
fundamental problem at all.
So forget about "If-Modified-Since:" etc. It may help in ...
| Dec 10, 12:50 pm 2006 |
| Linus Torvalds | Re: kernel.org mirroring (Re: [GIT PULL] MMC update)
Sure, if the proxies actually do the rigth thing (which they may or may
I agree, but as mentioned, I think the _real_ problem tends to be the
pages that don't act that way (ie summary pages, both at the individual
project level and the top "all projects" level).
Linus
-
| Dec 10, 1:30 pm 2006 |
| Sasha Khapyorsky | Re: git-svnimport breakage as of git-1.4.4
Thanks for the link. but I cannot access - this requires
username/password authentication.
Sasha
-
| Dec 10, 4:47 am 2006 |
| Junio C Hamano | Re: [PATCH 2/3] merge-recursive: make empty tree a known ...
That is fine by me. We would benefit from an empty blob and an
empty tree.
-
| Dec 10, 2:21 pm 2006 |
| Johannes Schindelin | Re: [PATCH 2/3] merge-recursive: make empty tree a known ...
Hi,
Acked-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Ciao,
Dscho
-
| Dec 10, 4:16 pm 2006 |
| Linus Torvalds | Re: [PATCH 2/3] merge-recursive: make empty tree a known ...
merge-recursive and "diff against root"
Linus
-
| Dec 10, 3:54 pm 2006 |
| Linus Torvalds | Re: [PATCH 2/3] merge-recursive: make empty tree a known ...
I think you should do this more generically.
If we create this kind of "default fake object" that we know about whether
the object _really_ exists or not (and I agree it makes sense for the
empty tree), we should probably use it for "diff_root_tree_sha1()" too,
rather than the special case we have now.
In other words, right now we have that very special
"diff_root_tree_sha1()" function, but if you create a generic fake "empty
tree" SHA1 that git knows about implicitly, we could ...
| Dec 10, 11:37 am 2006 |
| Junio C Hamano | Re: [PATCH 2/3] merge-recursive: make empty tree a known ...
I think this might be fragile in the presense of older
implementation of git.
A new git may operate fine without having "well known" objects
in the repository, and would happily write result that points at
them; an older git would find the resulting repository corrupt.
We somehow need to force "well known" objects to be instantiated
in the object database when something else points at them. I am
not absolutely sure if keeping has_sha1_file() unaware of this
magic is enough.
-- >8 ...
| Dec 10, 3:28 pm 2006 |
| Johannes Schindelin | Re: [PATCH 3/3] add test case for recursive merge
Hi,
Not at all.
It seems that one merge is conflicting on "a1", and not storing _anything_
in the resulting (unclean) tree. So, there is no stage 1.
However, I also saw that something is left in stage 1 on the box where the
problem arises. Tomorrow.
Ciao,
Dscho
-
| Dec 10, 3:51 pm 2006 |
| Linus Torvalds | Re: [PATCH 2/3] merge-recursive: make empty tree a known ...
I was wondering if we ever had any special case where we wanted the empty
blob, and couldn't come up with any. Unlike the "tree diff" case, a "blob
diff" will not actually do a "real diff" with a non-existing object, it
special-cases it (and, for performance reasons, I think it really should).
And all the blob-diff routines generally want to be able to take explicit
data anyway, not just diffing two SHA1's (since we often don't have a SHA1
anyway - the working tree case).
So while ...
| Dec 10, 2:31 pm 2006 |
| Junio C Hamano | Re: [PATCH 2/3] merge-recursive: make empty tree a known ...
After saying that I was thinking about the same. Empty blob is
not all that useful (and let's not bring up the "empty commit"
Two?
I sent out a patch with comment about an issue I worry about.
I do not think the empty-tree case matters in practice because
we do not allow an empty tree to be committed, but if we add
empty blob to the set of "well known objects", the backward
compatibility issue becomes real.
-
| Dec 10, 3:33 pm 2006 |
| Jakub Narebski | [PATCH 0/3] gitweb: Better symbolic link support in "tre ...
Junio C Hamano wrote in
I not necessarily agree; I think that symbolic links are sufficnetly
rare that a bit more time spent to make the view better for end user
(link only if target exists) is worth it. But...
Here follows the implementation of this idea: first to read link
target and show it in "tree" view _without_ hyperlink, then
introduction of generic "object" view which does the verification and
redirect to correct view accorting to the type of object, and last
show link target ...
| Dec 10, 5:25 am 2006 |
| Jakub Narebski | [PATCH 1/3] gitweb: Show target of symbolic link in "tre ...
In "tree" view (git_print_tree_entry subroutine), for entries which are
symbolic links, add " -> link_target" after file name (a la "ls -l").
Link target is _not_ hyperlinked.
While at it, correct whitespaces (tabs are for aling, spaces are for indent)
in modified git_print_tree_entry subroutine.
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
That implements the first part.
gitweb/gitweb.perl | 42 ++++++++++++++++++++++++++++++++++--------
1 files changed, 34 insertions(+), ...
| Dec 10, 5:25 am 2006 |
| Junio C Hamano | Re: [PATCH/RFC 4/3] gitweb: SHA-1 in commit log message ...
I am certainly in favor of the approach. Will look at the code
later. Thanks.
-
| Dec 10, 2:29 pm 2006 |
| Jakub Narebski | [PATCH 2/3] gitweb: Add generic git_object subroutine to ...
Add generic "object" view implemented in git_object subroutine, which is
used to display object of any type; to be more exact it redirects to the
view of correct type: "blob", "tree", "commit" or "tag". To identify object
you have to provide either hash (identifier of an object), or (in the case of
tree and blob objects) hash of commit object (hash_base) and path (file_name).
Signed-off-by: Jakub Narebski <jnareb@gmail.com>
---
First version had checking if $hash and $hash_base are explicit ...
| Dec 10, 5:25 am 2006 |
| Jakub Narebski | [PATCH 0/3] gitweb: Better symbolic link support in "tre ...
Junio C Hamano wrote in
I not necessarily agree; I think that symbolic links are sufficnetly
rare that a bit more time spent to make the view better for end user
(link only if target exists) is worth it. But...
Here follows the implementation of this idea: first to read link
target and show it in "tree" view _without_ hyperlink, then
introduction of generic "object" view which does the verification and
redirect to correct view accorting to the type of object, and last
show link target ...
| Dec 10, 5:25 am 2006 |
| Jakub Narebski | [PATCH/RFC 4/3] gitweb: SHA-1 in commit log message link ...
Instead of checking if explicit SHA-1 in commit log message is sha1 of
commit and making link to "commit" view, make [fragment of] explicit
SHA-1 in commit log message link to "object" view. While at it allow
to hyperlink also shortened SHA-1, from 8 characters up to full SHA-1,
instead of requiring full 40 characters of SHA-1.
This makes the following changes:
* SHA-1 of objects which no longer exists, for example in commit
cherry-picked from no longer existing temporary branch, or ...
| Dec 10, 5:25 am 2006 |
| Jakub Narebski | [PATCH 3/3] gitweb: Hyperlink target of symbolic link in ...
Make symbolic link target in "tree" view into hyperlink to generic
"object" view (as we don't know if the link target is file (blob) or
directory (tree), and if it exist at all).
Target of link is made into hyperlink when:
* hash_base is provided (otherwise we cannot find hash
of link target)
* link is relative
* in no place link goes out of root tree (top dir)
Full path of symlink target from the root dir is provided in the title
attribute of hyperlink.
Currently symbolic link ...
| Dec 10, 5:25 am 2006 |
| Torgil Svensson | Re: [RFC] Submodules in GIT
What if we use linus "module" file concept and allow the link objects
to track subtrees? An object may look like this:
commit: <SHA1>
link: <SHA1> /path/to/remote/tree/or/blob
Tracking upstream library:
--------------------------
clone as usual
Inhouse libraries/applications:
-------------------------------
To satisfy versioning of build-dependencies - make links of type
"external/lib1_header.h" -> "<commit>/headers/lib1_header.h" (blob)
"external/lib1_interface" -> "<commit>/api" ...
| Dec 10, 4:47 am 2006 |
| previous day | today | next day |
|---|---|---|
| December 9, 2006 | December 10, 2006 | December 9, 2006 |
