RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Jeff Johnson
  Root:   /v/rpm/cvs                       Email:  j...@rpm5.org
  Module: rpm                              Date:   10-Mar-2012 04:23:54
  Branch: rpm-5_4                          Handle: 2012031003235300

  Modified files:           (Branch: rpm-5_4)
    rpm/rpmio               rpmgit.c tgit.c

  Log:
    - rpmgit: WIP.

  Summary:
    Revision    Changes     Path
    2.1.2.10    +14 -4      rpm/rpmio/rpmgit.c
    1.1.2.6     +12 -9      rpm/rpmio/tgit.c
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/rpmio/rpmgit.c
  ============================================================================
  $ cvs diff -u -r2.1.2.9 -r2.1.2.10 rpmgit.c
  --- rpm/rpmio/rpmgit.c        9 Mar 2012 23:14:03 -0000       2.1.2.9
  +++ rpm/rpmio/rpmgit.c        10 Mar 2012 03:23:53 -0000      2.1.2.10
  @@ -20,7 +20,7 @@
   #include "debug.h"
   
   /*@unchecked@*/
  -int _rpmgit_debug = -1;
  +int _rpmgit_debug = 0;
   
   #define      SPEW(_t, _rc, _git)     \
     { if ((_t) || _rpmgit_debug ) \
  @@ -209,6 +209,8 @@
       unsigned i;
   
   assert(I != NULL);
  +if (_rpmgit_debug >= 0) return;
  +
       Icnt = git_index_entrycount(I);
       fprintf(fp, "-------- Index(%u)\n", Icnt);
       for (i = 0; i < Icnt; i++) {
  @@ -261,11 +263,14 @@
   {
       FILE * fp = (_fp ? _fp : stderr);
       git_tree * T = _T;
  -    const git_oid * Toidp = git_tree_id(T);
  -    unsigned Tcnt = git_tree_entrycount(T);
  +    unsigned Tcnt;
       unsigned i;
   
  - rpmgitPrintOid("-------- Toid", Toidp, fp);
  +assert(T != NULL);
  +if (_rpmgit_debug >= 0) return;
  +
  + rpmgitPrintOid("-------- Toid", git_tree_id(T), fp);
  +    Tcnt = git_tree_entrycount(T);
       for (i = 0; i < Tcnt; i++) {
        const git_tree_entry * E = git_tree_entry_byindex(T, i);
        char * t;
  @@ -296,6 +301,8 @@
       int xx;
   
   assert(C != NULL);
  +if (_rpmgit_debug >= 0) return;
  +
    rpmgitPrintOid("-------- Coid", git_commit_id(C), fp);
   fprintf(fp,     "      Cmsgenc: %s\n", git_commit_message_encoding(C));
   fprintf(fp,     "         Cmsg: %s\n", git_commit_message(C));
  @@ -331,6 +338,7 @@
        H = git->H;
       }
   assert(H != NULL);
  +if (_rpmgit_debug >= 0) return;
   
       xx = chkgit(git, "git_reference_resolve",
                git_reference_resolve(&Hresolved, H));
  @@ -357,6 +365,8 @@
       git_repository * R = _R;
       const char * fn;
   
  +if (_rpmgit_debug >= 0) return;
  +
   fprintf(fp, "head_detached: %d\n", git_repository_head_detached(R));
   fprintf(fp, "  head_orphan: %d\n", git_repository_head_orphan(R));
   fprintf(fp, "     is_empty: %d\n", git_repository_is_empty(R));
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/rpmio/tgit.c
  ============================================================================
  $ cvs diff -u -r1.1.2.5 -r1.1.2.6 tgit.c
  --- rpm/rpmio/tgit.c  9 Mar 2012 23:14:03 -0000       1.1.2.5
  +++ rpm/rpmio/tgit.c  10 Mar 2012 03:23:53 -0000      1.1.2.6
  @@ -153,15 +153,14 @@
   
       fn = (ac >= 2 ? av[1] : repofn);
       git = rpmgitNew(fn, 0);
  -rpmgitPrintRepo(git, git->R, fp);
   
       /* XXX Get the index file for this repository. */
       xx = chkgit(git, "git_repository_index",
                git_repository_index((git_index **)&git->I, git->R));
       if (xx)
        goto exit;
  -rpmgitPrintIndex(git->I, fp);
   
  +if (_rpmgit_debug < 0) rpmgitPrintIndex(git->I, fp);
       /* Create file(s) in _workdir (if any). */
       for (i = 2; i < ac; i++) {
        struct stat sb;
  @@ -177,9 +176,7 @@
        if (xx)
            goto exit;
       }
  -
  -rpmgitPrintIndex(git->I, fp);
  -rpmgitPrintHead(git, NULL, fp);
  +if (_rpmgit_debug < 0) rpmgitPrintIndex(git->I, fp);
   
   exit:
       rc = (xx ? RPMRC_FAIL : RPMRC_OK);
  @@ -206,7 +203,6 @@
   
       fn = (ac >= 2 ? av[1] : repofn);
       git = rpmgitNew(fn, 0);
  -rpmgitPrintRepo(git, git->R, fp);
   
       /* XXX Get the index file for this repository. */
       xx = chkgit(git, "git_repository_index",
  @@ -325,7 +321,7 @@
   
   static rpmRC cmd_diff(int ac, char *av[])
   {
  -    char path[GIT_PATH_MAX];
  +char path[GIT_PATH_MAX];
       FILE * fp = stderr;
       rpmRC rc = RPMRC_FAIL;
       const char * fn;
  @@ -343,6 +339,7 @@
   assert(ac >= 1);
   if (strcmp(av[0], "diff")) assert(0);
   
  +#ifdef       NOTYET
       xx = chkgit(git, "git_repository_discover",
        git_repository_discover(path, sizeof(path), dir, 0, "/"));
       if (xx) {
  @@ -350,6 +347,9 @@
        goto exit;
       }
       fn = path;
  +#else
  +    fn = "/var/tmp/xxx";
  +#endif
       git = rpmgitNew(fn, 0);
   rpmgitPrintRepo(git, git->R, fp);
   
  @@ -803,10 +803,13 @@
   {
       FILE * fp = stderr;
       struct poptOption * c;
  -    const char * cmd = av[0];
  +    const char * cmd;
       rpmRC rc = RPMRC_FAIL;
   
  -argvPrint(__FUNCTION__, (ARGV_t)av, fp);
  +if (_rpmgit_debug < 0) argvPrint(__FUNCTION__, (ARGV_t)av, fp);
  +    if (av == NULL || av[0] == NULL) /* XXX segfault avoidance */
  +     goto exit;
  +    cmd = av[0];
       for (c = _rpmgitCommandTable; c->longName != NULL; c++) {
        rpmRC (*func) (int ac, char *av[]) = NULL;
   
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to