'system' folder will be a clean copy of the source volume. Other
folders will be merged (as before), but in case a folder is in the
way of a link or file from the source volume, it will now be purged.
* Clarified the alert for non-empty target volumes, so it is very clear
what happens. (Maybe there ought to the be option to only copy the system
folder, though.)
* Fixed a problem with copying attributes in certain cases.
* Fixed the main GUI not resetting state properly after encountering an
error during the copy process.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31042 a95241bf-73f2-0310-859d-f6bbb57e9c96
way, the optional packages (if there would be any) can be collected as well
before the actual process starts and the progress bar will reflect them
correctly. Before this change, the progress bar would have reset itself for
every optional package.
* In one of my previous commits, I added the error, if there was any, to the
reset message. Now the Installer window looks for the error and tells the
user about it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30602 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Renamed CopyEngine to WorkerThread, since it's used for other things than
just copying.
* Removed the code borrowed from Tracker.
* Removed the InstallerCopyLoopControl, since the CopyEngine handles
notifications and cancelling by itself now.
* Renamed a few message constants.
* Since we only support BFS partitions as install targets, I removed the
FS type from the target menu item label. However, I am going to solve this
differently. I guess all partitions should be seen in the target list, just
disabled if they are not a valid target, and with a reason given too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30600 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Used std::vector in BlockingQueue instead of Ingo's Vector until I can figure out the GCC4 problems.
This is untested, but I will test this on another machine in a minute.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30423 a95241bf-73f2-0310-859d-f6bbb57e9c96
root folder as before switching the CopyEngine.
* Add a button "Write Boot Sector" that makes the selected target volume
bootable without performing an installation. Adjusted the status message
after installation to be more descriptive.
* Small improvements in the CopyEngine, collecting the source size should be
even a bit faster now since we can use the file size from the already
performed stat().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30395 a95241bf-73f2-0310-859d-f6bbb57e9c96
* I've implemented my own copy engine which runs a separate writer thread.
Especially when installing from one hard drive to another, it should speed
things up. When installing from CD, the entire harddisk write time should
at least disappear in the CD read time. When installing from/to the same
drive, the new routine is as fast as the Tracker code that was used before.
* When stopping/canceling the copy process, the copy engine will now actually
block, instead of happily going on while the alert is showing. I've
still implemented that to not leave incomplete files around, like before.
* There is now a progress bar, based on data bytes in files to copy. Reason
being that it's quite fast to collect this info versus also scanning all
attributes.
* The copy engine itself was used in another project before and was tested
with SHA256 hashes of the original files and the copied files, so I think
it can be trusted.
* There is now a lot of code that can be removed or should be cleaned up.
What was the "CopyEngine" should become the "WorkerThread" or something.
* I still had a mental TODO about skipping the swap file (there is none on
CDs, but when copying a harddisk installation there may be one), I just
remembered this when typing this commit message... will fix that next.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30394 a95241bf-73f2-0310-859d-f6bbb57e9c96
partitions by itself. When it does, this check can be removed again... for
now DriveSetup is to be used and so there is no code duplication.
* Check if the target volume is non-empty and present an appropriate warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30382 a95241bf-73f2-0310-859d-f6bbb57e9c96
with BFS anyways.
* Use the partition path, not the parent path. This also makes displaying IDs
really superfluous.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30375 a95241bf-73f2-0310-859d-f6bbb57e9c96
it isn't BFS... (like perhaps ISO9660 with write-overlay ;-)
* Reject a lot more situations as valid targets. (No more devices when they
already have child partitions, no more extended partitions themselves, also
use a minimum size.)
* Remove the partition ID from the menu item name. I don't know why the user
would be interested in this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30335 a95241bf-73f2-0310-859d-f6bbb57e9c96
* only enable Begin button when a menu item has been chosen
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27051 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fixed a few things: one couldn't restart the install process when cancelled, use B_QUIT_REQUESTED instead of QuitRequested().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25466 a95241bf-73f2-0310-859d-f6bbb57e9c96
* reformat long lines so that they don't exceed 80 chars
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22751 a95241bf-73f2-0310-859d-f6bbb57e9c96
* CopyEngine::CopyFolder() forgot to GetName(name) before using "name" in
strcmp()
* "delete" already checks for NULL
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22196 a95241bf-73f2-0310-859d-f6bbb57e9c96
* added alert for file error: lots of errors happening when updating a volume:
* it seems BEntry::IsDirectory() returns false whereas it should return true for some directories
this is to be checked with a test app
* boot volume is now marked automatically as the source volume (a rule is yet to be found for the target volume)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16066 a95241bf-73f2-0310-859d-f6bbb57e9c96
copy everything in source directory instead of just 'beos'
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16040 a95241bf-73f2-0310-859d-f6bbb57e9c96