Pregunta

En nuestro servidor son tres (en la realidad: miles de) archivos de texto almacenados en un repositorio git desnudo:. A.txt, B.txt, C.txt

  • El usuario "admin" debe ver / editar todos ellos.
  • Usuario "Foo" debe ver / editar "A.txt" y "B.txt", pero no se le permite ver el contenido de "C.txt".
  • El usuario "invitado" sólo debe permitirse que ver / editar "A.txt".

Los tres usuarios deben ser capaces de clonar el repositorio Git con los archivos que está autorizado a editar.

¿Hay alguna posibilidad de hacer esto con git (... o mercurial)?

Idea: ¿Puedo hacer dos clones del repositorio git desnudo con la caja escasa función de git para el usuario "Foo" y "invitado" wich incluye sólo los archivos que se les permite ver?

Cualquier otro (más rápido) idea?

¿Fue útil?

Solución

Usted debe:

  • tiene tres ramas
    • para invitados (con sólo los archivos A.txt)
    • los usuarios (con A y archivos B.txt)
    • admin (con todos los archivos)

Eso significa que frecuentan fusiones para actualizar las diferentes ramas y propagar los diferentes modificaciones.

Además, con gitolite , puede controlar quién puede tirar / empujar lo que (a un nivel de rama), que significa:

  • un cliente sólo será capaz de tirar de la rama guest.
  • un usuario foo sólo será capaz de tirar de la rama guest y la rama users, mientras que ser capaz de empujar la rama users (o ambas ramas, si desea que un usuario para actualizar el contenido de la rama guest).
  • un administrador puede tirar / tirar de todas las ramas.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top