Sorry for the mess

you are very close, I was trying to use arc with a revision composed of
a few commits … didn't end up right, lost my good commit msg too ;((
(I hate a php scipt which emits git push cmds in my back)

my advise to the which will try this:
  - have only 1 commit per revision, rewrite it if needed using i.e.
    $ git reset --soft HEAD~1
    $ git add ...
    $ git commit ..
    $ arc diff --update <id>

when ready, from your revision branch
    $ arc land --update-with-rebase --revision <id>  (--keep-branch)

should work better than the smelly crap I'm so annoyed to have done

On Wednesday 20 March 2013  12:06, Daniel Willmann wrote :
> On 20/03/13 11:15, J챕r챕my Zurcher - Enlightenment Git wrote:
> > jeyzu pushed a commit to branch master.
> > 
> > commit d0f3357f7778f415f4dae25e2fac4bcc5d1ea8d1
> > Author: Jérémy Zurcher <jer...@asynk.ch>
> > Date:   Wed Mar 20 11:45:57 2013 +0100
> > 
> >     TES
> 
> Not the kind of commit message I would have expected for a commit like
> this. ;-)
> 
> >     Conflicts:
> >             src/lib/eina/eina_list.c
> >             src/lib/eina/eina_types.h
> 
> It seems to me you did a rebase which conflicted. You resolved this
> conflict and committed the result manually - with a temporary commit
> message. Am I on the right track?
> 
> You should rather - after resolving the conflict - use git add on the
> relevant files to mark these resolved and then issue
> git rebase --continue to continue with the rebase. This should then
> continue as usual without adding an extra commit.
> 
> 
> Regards,
> Daniel
> 
> > ---
> >  src/lib/eina/eina_list.c        | 79 
> > +++++++++++++++++++++++++++++++++++++++++
> >  src/lib/eina/eina_types.h       | 15 ++++++++
> >  src/tests/eina/eina_test_list.c | 57 +++++++++++++++++++++++++++++
> >  3 files changed, 151 insertions(+)
> > 
> > diff --git a/src/lib/eina/eina_list.c b/src/lib/eina/eina_list.c
> > index 01871b2..4e217dd 100644
> > --- a/src/lib/eina/eina_list.c
> > +++ b/src/lib/eina/eina_list.c
> > @@ -1095,6 +1095,85 @@ eina_list_sort(Eina_List *list, unsigned int limit, 
> > Eina_Compare_Cb func)
> >  }
> > 
> >  EAPI Eina_List *
> > +eina_list_shuffle(Eina_List *list, Eina_Random_Cb func)
> > +{
> > +   unsigned int n, i, j;
> > +   Eina_List_Accounting *accounting;
> > +   Eina_List *shuffled_list, *shuffled_last, *li;
> > +
> > +   if (!list)
> > +     return NULL;
> > +
> > +   EINA_MAGIC_CHECK_LIST(list, NULL);
> > +
> > +   accounting = list->accounting;
> > +   n = accounting->count;
> > +   shuffled_list = shuffled_last = NULL;
> > +
> > +   if (n == 1)
> > +     return list;
> > +
> > +   while (n > 1)
> > +     {
> > +        if (func)
> > +          i = func(0, (n - 1));
> > +        else
> > +          i = (int) ((float)n*rand()/(RAND_MAX+1.0));
> > +
> > +        if(i == 0)
> > +          {
> > +             li = list;
> > +             list = list->next;
> > +          }
> > +        else if (i == (n - 1) || i == n)
> > +          {
> > +             li = accounting->last;
> > +             accounting->last = li->prev;
> > +          }
> > +        else
> > +          {
> > +             if (i > (n / 2))
> > +               for (j = n - 1,
> > +                    li = accounting->last;
> > +                    j!=i;
> > +                    li = li->prev, j--);
> > +             else
> > +               for (j = 0,
> > +                    li = list;
> > +                    j!=i;
> > +                    li = li->next, j++);
> > +
> > +             li->prev->next = li->next;
> > +             li->next->prev = li->prev;
> > +          }
> > +
> > +        n--;
> > +
> > +        if (shuffled_list == NULL)
> > +          {
> > +             li->prev = NULL;
> > +             shuffled_list = li;
> > +             shuffled_last = li;
> > +          }
> > +        else
> > +          {
> > +             shuffled_last->next = li;
> > +             li->prev = shuffled_last;
> > +             shuffled_last = li;
> > +          }
> > +     }
> > +
> > +   list->next = NULL;
> > +   list->prev = shuffled_last;
> > +   shuffled_last->next = list;
> > +
> > +   accounting->last = list;
> > +   shuffled_list->accounting = accounting;
> > +
> > +   return shuffled_list;
> > +}
> > +
> > +EAPI Eina_List *
> >  eina_list_merge(Eina_List *left, Eina_List *right)
> >  {
> >     unsigned int n_left, n_right;
> > diff --git a/src/lib/eina/eina_types.h b/src/lib/eina/eina_types.h
> > index d74d200..d37b20f 100644
> > --- a/src/lib/eina/eina_types.h
> > +++ b/src/lib/eina/eina_types.h
> > @@ -334,6 +334,21 @@ typedef int (*Eina_Compare_Cb)(const void *data1, 
> > const 
> > void *data2);
> >  #define EINA_COMPARE_CB(function) ((Eina_Compare_Cb)function)
> > 
> >  /**
> > + * @typedef Eina_Random_Cb
> > + * Function used in shuffling functions. An integer betwen min and max
> > + * inclusive must be returned.
> > + *
> > + * @since 1.8
> > + */
> > +typedef int (*Eina_Random_Cb)(const int min, const int max);
> > +
> > +/**
> > + * @def EINA_RANDOM_CB
> > + * Macro to cast to Eina_Random_Cb.
> > + */
> > +#define EINA_RANDOM_CB(function) ((Eina_Random_Cb)function)
> > +
> > +/**
> >   * @typedef Eina_Each_Cb
> >   * A callback type used when iterating over a container.
> >   */
> > diff --git a/src/tests/eina/eina_test_list.c 
> > b/src/tests/eina/eina_test_list.c
> > index 0f48688..fd11f89 100644
> > --- a/src/tests/eina/eina_test_list.c
> > +++ b/src/tests/eina/eina_test_list.c
> > @@ -375,6 +375,62 @@ START_TEST(eina_test_list_split)
> >  }
> >  END_TEST
> > 
> > +static int uicmp(const void *d1, const void *d2)
> > +{
> > +   const unsigned int *a = d1;
> > +   const unsigned int *b = d2;
> > +
> > +   if(*a == *b) return 0;
> > +   if(*a >  *b) return 1;
> > +
> > +   return -1;
> > +}
> > +
> > +#define SHUFFLE_SZ 100
> > +#define SHUFFLE_N 100000
> > +START_TEST(eina_test_shuffle)
> > +{
> > +  double d;
> > +  unsigned int *p;
> > +  unsigned int i, j;
> > +  unsigned int n[SHUFFLE_SZ];
> > +  unsigned int rand_count[SHUFFLE_SZ];
> > +  Eina_List *list = NULL;
> > +  Eina_List *item = NULL;
> > +
> > +  eina_init();
> > +
> > +  for(i = 0; i < SHUFFLE_SZ; i++)
> > +    {
> > +       n[i] = i;
> > +       rand_count[i] = 0;
> > +       list = eina_list_append(list, &n[i]);
> > +    }
> > +
> > +  for(i = 0; i < SHUFFLE_N; i++)
> > +    {
> > +       list = eina_list_shuffle(list, NULL);
> > +       p = eina_list_nth(list, SHUFFLE_SZ/2);
> > +       rand_count[*p]++;
> > +
> > +       j = 0;
> > +       list = eina_list_sort(list, 0, (Eina_Compare_Cb)&uicmp);
> > +       EINA_LIST_FOREACH(list, item, p)
> > +          fail_if(*p != j++);
> > +       fail_if(j != SHUFFLE_SZ);
> > +    }
> > +
> > +  d = SHUFFLE_SZ/(float)(SHUFFLE_N);
> > +  for(i = 0; i < SHUFFLE_SZ; i++)
> > +    {
> > +       fail_if(rand_count[i]*d > 1.20f);
> > +       fail_if(rand_count[i]*d < 0.80f);
> > +    }
> > +
> > +  eina_shutdown();
> > +}
> > +END_TEST
> > +
> >  void
> >  eina_test_list(TCase *tc)
> >  {
> > @@ -382,4 +438,5 @@ eina_test_list(TCase *tc)
> >     tcase_add_test(tc, eina_test_merge);
> >     tcase_add_test(tc, eina_test_sorted_insert);
> >     tcase_add_test(tc, eina_test_list_split);
> > +   tcase_add_test(tc, eina_test_shuffle);
> >  }
> > 
> 
> 
> 
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_d2d_mar
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

-- 
Jérémy Zurcher
av General Guisan 49
1400 Yverdon-les-bains
+41 (0) 79 599 84 27

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to