The pros and cons of incremental update/deployment on granularity of *files* (not on *services*)

My friends’ company is using the incremental method to update/deploy a new version of their app to the customer site. But what kind of surprises me is their update/deployment is on granularity of files, not the services.

For example, suppose the finally built app in version 1 consists of two files A and B:

web_app (version 1):
- file A
- file B1

They will deploy all the files to the customer site. When the version 2 is built and the file B is modified:

web_app (version 2):
- file A
- file B2

They will only send and deploy file B2 to the customer site. If version 3 has file B2 deleted and file C added:

web_app (version 3):
- file A
- file C

They will also delete file B2 on the customer site and deploy C there. Because file A has never changed during the three versions, it is not touched in the second and the third deployments.

I haven’t learned exactly why they are doing this way. I asked, but they haven’t responded yet. But their way of deployment is so different from what I have seen around in the industry. Maybe they have some special reasons so they must do it this way.

So I did some search and wanted to find articles/information to discuss the pros and cons of this deployment. However, when I tried to use keywords such as “incremental deployment” to search, most of the articles are about incremental deployment on granularity of services (see (1)(2)(3)(4)), not on files. I did find the article Incremental deployment vs full deployment, but I’m also wondering if there is any other literature that discusses this topic further in depth in the history of software engineering.

A second question is: Are there valid scenarios that such incremental deployment is indeed a good choice?