On 26.04.2013 17:25, Zieris, Franz wrote:
> Dear developers,
>
> initiated by Gerrit Change #750 [1], we stumbled upon gaps in the 
> specification of the partial sharing feature (again).
>
> The corresponding thesis (which is not available in an electronic format as 
> of now) only covers the following use cases in the context of partial sharing:
>   * Multiple ways of selecting the resources to be shared.
>   * Starting a session with several resources, using an existing/a new 
> project on the invitee's side.
>   * Adding several resources to a running session, using an existing/a new 
> project on the others' side.
>   * Adding new files to the session as they are edited 
> (needbased/quick-adding)
>
> But it lacks considerations concerning pre-existing files (in case the 
> invitee wants to reuse an existing project) and the removal of files and 
> folders. In detail:
>
> 1. Example. Situation before the session:
>
> Alice:
>    P
>    P/x
>    P/x/a.txt
>    P/x/c.txt
>    P/y
>    P/y/d.txt
>
> Bob:
>    P
>    P/x
>    P/x/a.txt
>    P/x/b.txt
>
> Alice selects folder "x" to invite Bob, who chooses to reuse his local 
> project P. What should happen to Bob's a.txt?
>
This is currently covered. You will get a dialog that states that file 
a.txt will be overwritten because the file contents did not match. You can
still abort this and choose another project.
> 2. Example. Situation before the session:
>
> Alice:
>    P
>    P/x
>    P/x/a.txt
>    P/x/c.txt
>
> Bob:
>    P
>    P/x
>    P/x/b.txt
>
> Alice selects file a.txt to invite Bob, who chooses to reuse his local 
> project P. Alice afterwards chooses to delete folder "x" -- what should 
> happen on Bob's side: delete x and x/b.txt or keep them?
>
>
> What do you think? My proposals:
>
> 1. On the one hand, since Alice wants to work with the files she selects for 
> transmission, allowing Bob to "protect" his file "a.txt" from overwriting is 
> not an option -- either he reuses an existing project or create a new one. On 
> the other hand, I am struggling thinking of a real-world scenario in which 
> Alice and Bob really want to such a thing (maybe if "b.txt" is some file you 
> would put under svn:ignore?).
>
> 2. Neither Alice nor Saros can possibly know what to with "b.txt" -- in 
> Alice's case: she isn't even aware of that particular file. Therefore Bob is 
> the only one to decide, so Saros needs to ask Bob for "assistance". I don't 
> want to think about the required dialog right now -- this is about the idea 
> in general.
This is currently tricky.
Option 1:
Only mark the file as shared, but not the folder (which currently happen 
due to another bug). This is a bit confusing because in the project 
explorer a file is marked as shared but not its parent (folder).

When Alice now deletes the folder, check on Bobs side if this folder is 
marked as shared (this is currently not performed ... another bug) and 
discard the delete activity.

Result: File B and folder X is still present on Bobs side.

Option 2: (and I think this is the one Karl Held intended)
Add all sub files / folders on the invitee side to the sharing. But then 
you are facing another problem. Bob has files marked as shared that are 
not available on Alice side.
As the file base of the host is used for correctness this may produce 
inconsistencies.

Maybe there are even more corner cases.

BR,
Stefan

> Any comments?
>
> Franz
>
>
> [1] http://saros-build.imp.fu-berlin.de/gerrit/750
>
>
> ------------------------------------------------------------------------------
> Try New Relic Now & We'll Send You this Cool Shirt
> New Relic is the only SaaS-based application performance monitoring service
> that delivers powerful full stack analytics. Optimize and monitor your
> browser, app, & servers with just a few lines of code. Try New Relic
> and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
> _______________________________________________
> DPP-Devel mailing list
> DPP-Devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/dpp-devel


------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
DPP-Devel mailing list
DPP-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dpp-devel

Reply via email to