<feed xmlns='http://www.w3.org/2005/Atom'>
<title>git/builtin-pack-objects.c, branch v1.7.0.5</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/git/git.git/
</subtitle>
<id>https://www.git.shady.money/git/atom?h=v1.7.0.5</id>
<link rel='self' href='https://www.git.shady.money/git/atom?h=v1.7.0.5'/>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/'/>
<updated>2010-02-22T23:24:46Z</updated>
<entry>
<title>Use git_mkstemp_mode and xmkstemp_mode in odb_mkstemp, not chmod later.</title>
<updated>2010-02-22T23:24:46Z</updated>
<author>
<name>Matthieu Moy</name>
<email>Matthieu.Moy@imag.fr</email>
</author>
<published>2010-02-22T22:32:14Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=f80c7ae8fe9c0f3ce93c96a2dccaba34e456e33a'/>
<id>urn:sha1:f80c7ae8fe9c0f3ce93c96a2dccaba34e456e33a</id>
<content type='text'>
We used to create 0600 files, and then use chmod to set the group and
other permission bits to the umask. This usually has the same effect
as a normal file creation with a umask.

But in the presence of ACLs, the group permission plays the role of
the ACL mask: the "g" bits of newly created files are chosen according
to default ACL mask of the directory, not according to the umask, and
doing a chmod() on these "g" bits affect the ACL's mask instead of
actual group permission.

In other words, creating files with 0600 and then doing a chmod to the
umask creates files which are unreadable by users allowed in the
default ACL. To create the files without breaking ACLs, we let the
umask do it's job at the file's creation time, and get rid of the
later chmod.

Signed-off-by: Matthieu Moy &lt;Matthieu.Moy@imag.fr&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Revert "pack-objects: fix pack generation when using pack_size_limit"</title>
<updated>2010-02-08T18:56:21Z</updated>
<author>
<name>Nicolas Pitre</name>
<email>nico@fluxnic.net</email>
</author>
<published>2010-02-08T15:39:01Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=720c9f7bda20d8f307745772374647c1a2076b3d'/>
<id>urn:sha1:720c9f7bda20d8f307745772374647c1a2076b3d</id>
<content type='text'>
This reverts most of commit a2430dde8ceaaaabf05937438249397b883ca77a.

That commit made the situation better for repositories with relatively
small number of objects.  However with many objects and a small pack size
limit, the time required to complete the repack tends towards O(n^2),
or even much worse with long delta chains.

Signed-off-by: Nicolas Pitre &lt;nico@fluxnic.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>make --max-pack-size argument to 'git pack-object' count in bytes</title>
<updated>2010-02-04T04:39:56Z</updated>
<author>
<name>Nicolas Pitre</name>
<email>nico@fluxnic.net</email>
</author>
<published>2010-02-04T03:48:28Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=07cf0f2407709e3764ea989696b513ec32613504'/>
<id>urn:sha1:07cf0f2407709e3764ea989696b513ec32613504</id>
<content type='text'>
The value passed to --max-pack-size used to count in MiB which was
inconsistent with the corresponding configuration variable as well as
other command arguments which are defined to count in bytes with an
optional unit suffix.  This brings --max-pack-size in line with the
rest of Git.

Also, in order not to cause havoc with people used to the previous
megabyte scale, and because this is a sane thing to do anyway, a
minimum size of 1 MiB is enforced to avoid an explosion of pack files.

Adjust and extend test suite accordingly.

Signed-off-by: Nicolas Pitre &lt;nico@fluxnic.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>pack-objects: fix pack generation when using pack_size_limit</title>
<updated>2010-02-04T04:39:24Z</updated>
<author>
<name>Nicolas Pitre</name>
<email>nico@fluxnic.net</email>
</author>
<published>2010-02-04T03:48:27Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=a2430dde8ceaaaabf05937438249397b883ca77a'/>
<id>urn:sha1:a2430dde8ceaaaabf05937438249397b883ca77a</id>
<content type='text'>
Current handling of pack_size_limit is quite suboptimal.  Let's consider
a list of objects to pack which contain alternatively big and small
objects (which pretty matches reality when big blobs are interlaced
with tree objects).  Currently, the code simply close the pack and opens
a new one when the next object in line breaks the size limit.

The current code may degenerate into:

  - small tree object =&gt; store into pack #1
  - big blob object busting the pack size limit =&gt; store into pack #2
  - small blob but pack #2 is over the limit already =&gt; pack #3
  - big blob busting the size limit =&gt; pack #4
  - small tree but pack #4 is over the limit =&gt; pack #5
  - big blob =&gt; pack #6
  - small tree =&gt; pack #7
  - ... and so on.

The reality is that the content of packs 1, 3, 5 and 7 could well be
stored more efficiently (and delta compressed) together in pack #1 if
the big blobs were not forcing an immediate transition to a new pack.

Incidentally this can be fixed pretty easily by simply skipping over
those objects that are too big to fit in the current pack while trying
the whole list of unwritten objects, and then that list considered from
the beginning again when a new pack is opened.  This creates much fewer
smallish pack files and help making more predictable test cases for the
test suite.

This change made one of the self sanity checks useless so it is removed
as well. That check was rather redundant already anyway.

Signed-off-by: Nicolas Pitre &lt;nico@fluxnic.net&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Make NO_PTHREADS the sole thread configuration variable</title>
<updated>2010-01-31T19:50:50Z</updated>
<author>
<name>Dan McGee</name>
<email>dpmcgee@gmail.com</email>
</author>
<published>2010-01-30T01:22:19Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=7eb151d6e289b98d2ad3d1a9ad08fe3693f05a24'/>
<id>urn:sha1:7eb151d6e289b98d2ad3d1a9ad08fe3693f05a24</id>
<content type='text'>
When the first piece of threaded code was introduced in commit 8ecce684, it
came with its own THREADED_DELTA_SEARCH Makefile option. Since this time,
more threaded code has come into the codebase and a NO_PTHREADS option has
also been added. Get rid of the original option as the newer, more generic
option covers everything we need.

Signed-off-by: Dan McGee &lt;dpmcgee@gmail.com&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>make "index-pack" a built-in</title>
<updated>2010-01-22T18:10:27Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2010-01-22T15:55:19Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=3bb7256281bb1d291bb705a57dc3f30b26b7c127'/>
<id>urn:sha1:3bb7256281bb1d291bb705a57dc3f30b26b7c127</id>
<content type='text'>
This required some fairly trivial packfile function 'const' cleanup,
since the builtin commands get a const char *argv[] array.

Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'jc/conflict-marker-size'</title>
<updated>2010-01-21T04:28:51Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2010-01-21T04:28:51Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=06dbc1ea5768618337bf11e5f64c4f9f14a68008'/>
<id>urn:sha1:06dbc1ea5768618337bf11e5f64c4f9f14a68008</id>
<content type='text'>
* jc/conflict-marker-size:
  rerere: honor conflict-marker-size attribute
  rerere: prepare for customizable conflict marker length
  conflict-marker-size: new attribute
  rerere: use ll_merge() instead of using xdl_merge()
  merge-tree: use ll_merge() not xdl_merge()
  xdl_merge(): allow passing down marker_size in xmparam_t
  xdl_merge(): introduce xmparam_t for merge specific parameters
  git_attr(): fix function signature

Conflicts:
	builtin-merge-file.c
	ll-merge.c
	xdiff/xdiff.h
	xdiff/xmerge.c
</content>
</entry>
<entry>
<title>git_attr(): fix function signature</title>
<updated>2010-01-17T04:39:59Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2010-01-17T04:39:59Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=7fb0eaa289576a1dcd7751015ba791f1bce778a9'/>
<id>urn:sha1:7fb0eaa289576a1dcd7751015ba791f1bce778a9</id>
<content type='text'>
The function took (name, namelen) as its arguments, but all the public
callers wanted to pass a full string.

Demote the counted-string interface to an internal API status, and allow
public callers to just pass the string to the function.

Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>MSVC: Windows-native implementation for subset of Pthreads API</title>
<updated>2010-01-17T02:16:06Z</updated>
<author>
<name>Andrzej K. Haczewski</name>
<email>ahaczewski@gmail.com</email>
</author>
<published>2010-01-15T20:12:20Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=44626dc7d562d23b54d969bb73ddeda12d5602e9'/>
<id>urn:sha1:44626dc7d562d23b54d969bb73ddeda12d5602e9</id>
<content type='text'>
This patch implements native to Windows subset of pthreads API used by Git.
It allows to remove Pthreads for Win32 dependency for MSVC, msysgit and
Cygwin.

[J6t: If the MinGW build was built as part of the msysgit build
environment, then threading was already enabled because the
pthreads-win32 package is available in msysgit. With this patch, we can now
enable threaded code unconditionally.]

Signed-off-by: Andrzej K. Haczewski &lt;ahaczewski@gmail.com&gt;
Signed-off-by: Johannes Sixt &lt;j6t@kdbg.org&gt;
Signed-off-by: Junio C Hamano &lt;gitster@pobox.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'maint'</title>
<updated>2009-11-24T05:54:39Z</updated>
<author>
<name>Junio C Hamano</name>
<email>gitster@pobox.com</email>
</author>
<published>2009-11-24T05:54:39Z</published>
<link rel='alternate' type='text/html' href='https://www.git.shady.money/git/commit/?id=75a7ea258c0644b79e57cab3a345807f4017dfd2'/>
<id>urn:sha1:75a7ea258c0644b79e57cab3a345807f4017dfd2</id>
<content type='text'>
* maint:
  pack-objects: split implications of --all-progress from progress activation
  instaweb: restart server if already running
  prune-packed: only show progress when stderr is a tty

Conflicts:
	builtin-pack-objects.c
</content>
</entry>
</feed>
