Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 
Índice general » Mundo Perl » Formación » Reto: ordenación de registros de actividad Git Responder al tema
Nuevo tema


Página 1 de 1  [ 1 mensaje ] 
 
Nota 2010-12-30 15:45 @698
Avatar de Usuario
Administrador
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España
Mensajes: 10272
Reto: ordenación de registros de actividad Git
Se tiene un fichero de texto que es el registro de actividad de un repositorio git:
Syntax: [ Download ] [ Hide ]
Using text Syntax Highlighting
user:Larry Wall
570320305
:100644 100644 fc05ca2... a486289... M  Makefile.SH
:100644 100644 728f44d... df4887a... M  arg.c
:100644 100644 2e1bd8a... d442b02... M  arg.h
:100644 100644 9eb4a8f... 9a019f2... M  cmd.h
:100644 100644 e19cd94... a6997a9... M  patchlevel.h
:100644 100644 751b8cd... 9b877f3... M  perl.h
:100644 100644 16f8a9a... b9a7a8e... M  perl.y
:000000 100644 0000000... d548f72... A  perldb
:000000 100644 0000000... 5a42241... A  perldb.man  
:100644 100644 dfd83d9... d2119ac... M  perly.c
:100644 100644 b812ee1... 3a15e29... M  search.c
:100644 100644 b9ef533... fc158ff... M  stab.c
:100644 100644 2cfe311... 015f442... M  t/base.lex  
:000000 100644 0000000... 1915710... A  t/op.eval
:100644 100644 b0b78f1... 3572c42... M  util.c
:100644 100644 8a1ad78... c995040... M  x2p/a2py.c
:100644 100644 04d133b... e745510... M  x2p/walk.c

user:Marnix (ain't unix!) A. van Ammers
570484716
:100755 100755 d32c305... 85ccf2d... M  Configure
:100644 100644 df4887a... 4ce4008... M  arg.c
:100644 100644 a6997a9... 618bca4... M  patchlevel.h
:100644 100644 9b877f3... 341afa8... M  perl.h

user:Peter E. Yee
570481130
:100755 100755 85ccf2d... d55cb72... M  Configure
:100644 100644 618bca4... 4e0e918... M  patchlevel.h

user:Mark Biggar
570657634
:100644 100644 4e0e918... 98702f8... M  patchlevel.h
:100644 100644 ea40065... d775ac4... M  perl.man.1  
:100644 100644 ecda600... 25f3c26... M  perl.man.2
:100644 100644 5a42241... 0cfe0f4... M  perldb.man

La distribución se ve que es muy clara:
* son registros separados por una línea en blanco
* cada registro es un conjunto de líneas
* la primera línea es el nombre de usuario
* la segunda es el tiempo en segundos epoch
* el resto de las siguientes líneas es la actividad (ficheros añadidos (A), modificados (M), y eliminados (D))

Normalmente, los registros salen ordenados por el valor de la fecha (el número de segundos), pero, antes de eso, están ordenados según la rama (fork) del desarrollo que se haya llevado a cabo.

La consecuencia es que los registros no están ordenados temporalmente, sino, primero por ramas de desarrollo y luego por tiempo. En el ejemplo, el tercer registro es anterior al segundo.

El reto consiste en hacer un programa que lea este fichero (perl.log) y saque otro perl_sorted.log) en que los registros sí que estén ordenados temporalmente. Vamos a suponer que no tenemos problemas de memoria, como para leer el fichero entero en memoria, por ejemplo.

_________________
JF^D Perl programming


Responder al tema  [ 1 mensaje ] 

Reglas del Foro
No puedes abrir nuevos temas en este Foro
No puedes responder a temas en este Foro
No puedes editar tus mensajes en este Foro
No puedes borrar tus mensajes en este Foro
No puedes enviar adjuntos en este Foro

Publicidad

Socializa

Síguenos por Twitter

Suscríbete GRATUITAMENTE al Boletín de Perl en Español

Saltar a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traducción al español por Huan Manwë para phpbb-es.com
phpBB SEO