git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Robin Rosenberg <robin.rosenberg.lists@dewire.com>
To: mr.gaffo@gmail.com
Cc: git@vger.kernel.org, "mike.gaffney" <mike.gaffney@asolutions.com>
Subject: Re: [PATCH JGit 04/19] added utility that generates the contents of the objects/info/packs file as a string from a list of PackFiles
Date: Tue, 15 Sep 2009 17:35:58 +0200	[thread overview]
Message-ID: <200909151735.58992.robin.rosenberg.lists@dewire.com> (raw)
In-Reply-To: <1252867475-858-5-git-send-email-mr.gaffo@gmail.com>

> diff --git a/org.spearce.jgit/src/org/spearce/jgit/lib/PacksFileContentsCreator.java b/org.spearce.jgit/src/org/spearce/jgit/lib/PacksFileContentsCreator.java
> new file mode 100644
> index 0000000..3dd0418
> --- /dev/null
> +++ b/org.spearce.jgit/src/org/spearce/jgit/lib/PacksFileContentsCreator.java
> @@ -0,0 +1,21 @@
> +package org.spearce.jgit.lib;
> +
> +import java.util.List;
> +
> +public class PacksFileContentsCreator {
> +
> +	private List<PackFile> packs;
> +
> +	public PacksFileContentsCreator(List<PackFile> packs) {
We want good javadocs for (at least) all public and protected methods and 
classes. (We enforce this for Eclipse users). If we had similar configuration files
for, perhaps netbeans we might have those too. (not finished thinking about that
proposition...)

> +		this.packs = packs;
> +	}
> +	
> +	public String toString(){

Don't overload toString. Let it be useful for debug like purposes. With this style we cannot
make it useful since the application depends on its exact behaviour. You may define
a toString anyway that does the exact same thing, but please provide a specific method for 
assisting with the formatting of the file. A writeTo(OutputStream) is a useful interface in general.

> +		StringBuilder builder = new StringBuilder();
> +		for (PackFile packFile : packs) {
> +			builder.append("P ").append(packFile.getPackFile().getName()).append('\r');

At least my git formats the file with \n as line terminator, so I think JGit should too.. 
Git ends the file with an extra \n, though I'm not sure it's relevant.

> +		}
> +		return builder.toString();
> +	}

The name is somewhat confusing as the s is hard to spot. The suggestion InfoPacksFileGenerator
perhaps. It's a bit uglier by easier not to mix with generation of pack files.

-- robin

  parent reply	other threads:[~2009-09-15 15:36 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-13 18:44 [PATCH JGit] Adding update-server-info functionality mr.gaffo
2009-09-13 18:44 ` [PATCH JGit 01/19] adding tests for ObjectDirectory mr.gaffo
2009-09-13 18:44   ` [PATCH JGit 02/19] Create abstract method on ObjectDatabase for accessing the list of local pack files mr.gaffo
2009-09-13 18:44     ` [PATCH JGit 03/19] Add abstract method for updating the object db's info cache Implemented passthrough on Alternate for the update of infocache mr.gaffo
2009-09-13 18:44       ` [PATCH JGit 04/19] added utility that generates the contents of the objects/info/packs file as a string from a list of PackFiles mr.gaffo
2009-09-13 18:44         ` [PATCH JGit 05/19] Made tests for listLocalPacks function on ObjectDirectory and made them pass mr.gaffo
2009-09-13 18:44           ` [PATCH JGit 06/19] added utility for reading the contents of a file as a string mr.gaffo
2009-09-13 18:44             ` [PATCH JGit 07/19] implemented the packs file update functionality mr.gaffo
2009-09-13 18:44               ` [PATCH JGit 08/19] changed signature to allow a IOException mr.gaffo
2009-09-13 18:44                 ` [PATCH JGit 09/19] Didn't like the old name, this is more specific to it just updating the packs info cache mr.gaffo
2009-09-13 18:44                   ` [PATCH JGit 10/19] moved test up to a higher level to test actual functionality mr.gaffo
2009-09-13 18:44                     ` [PATCH JGit 11/19] removed unused import mr.gaffo
2009-09-13 18:44                       ` [PATCH JGit 12/19] moved info/packs into a constant mr.gaffo
2009-09-13 18:44                         ` [PATCH JGit 13/19] made the call update the object database's info cache mr.gaffo
2009-09-13 18:44                           ` [PATCH JGit 14/19] pulled out some helper functions that will be useful for other tests mr.gaffo
2009-09-13 18:44                             ` [PATCH JGit 15/19] Adding in a InfoDatabase like ObjectDatabase and and implementation based upon a directory mr.gaffo
2009-09-13 18:44                               ` [PATCH JGit 16/19] added tests for the file based info cache update and made pass mr.gaffo
2009-09-13 18:44                                 ` [PATCH JGit 17/19] added call to update the info refs file mr.gaffo
2009-09-13 18:44                                   ` [PATCH JGit 18/19] Added Copyright Notices mr.gaffo
2009-09-13 18:44                                     ` [PATCH JGit 19/19] changed \r to \n per compliance with real git mr.gaffo
2009-09-15 19:23                   ` [PATCH JGit 09/19] Didn't like the old name, this is more specific to it just updating the packs info cache Robin Rosenberg
2009-09-15 19:23               ` [PATCH JGit 07/19] implemented the packs file update functionality Robin Rosenberg
2009-09-15 16:13           ` [PATCH JGit 05/19] Made tests for listLocalPacks function on ObjectDirectory and made them pass Robin Rosenberg
2009-09-15 15:35         ` Robin Rosenberg [this message]
2009-09-15 15:38   ` [PATCH JGit 01/19] adding tests for ObjectDirectory Robin Rosenberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200909151735.58992.robin.rosenberg.lists@dewire.com \
    --to=robin.rosenberg.lists@dewire.com \
    --cc=git@vger.kernel.org \
    --cc=mike.gaffney@asolutions.com \
    --cc=mr.gaffo@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).